<?php
namespace Postroyka\AppBundle\Entity;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Submarine\PagesBundle\Entity\Page;
/**
* @ORM\Entity
* @ORM\Table(name="cron_update")
*/
class CronUpdate
{
const REMOVE_NEW_LABEL_TYPE = "REMOVE_NEW_LABEL";
/**
* @var int
*
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
private $id;
/**
* @var Page
*
* @ORM\ManyToOne(targetEntity="Submarine\PagesBundle\Entity\Page", inversedBy="cronUpdates")
* @ORM\JoinColumn(name="page_id", referencedColumnName="id", nullable=true, onDelete="CASCADE")
*/
private $page;
/**
* @var string
*
* @ORM\Column(type="string")
*/
private $typeAction;
/**
* @var DateTime
* @ORM\Column(type="datetime")
*/
private $createdAt;
public function __construct()
{
$this->createdAt = new DateTime();
}
static function createByParams(Page $page, string $typeAction)
{
$cronUpdate = new self();
$cronUpdate->setPage($page);
$cronUpdate->setTypeAction($typeAction);
return $cronUpdate;
}
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
/**
* @param int $id
*/
public function setId(int $id): void
{
$this->id = $id;
}
/**
* @return Page
*/
public function getPage(): Page
{
return $this->page;
}
/**
* @param Page $page
*/
public function setPage(Page $page): void
{
$this->page = $page;
}
/**
* @return string
*/
public function getTypeAction(): string
{
return $this->typeAction;
}
/**
* @param string $typeAction
*/
public function setTypeAction(string $typeAction): void
{
$this->typeAction = $typeAction;
}
/**
* @return DateTime
*/
public function getCreatedAt(): DateTime
{
return $this->createdAt;
}
/**
* @param DateTime $createdAt
*/
public function setCreatedAt(DateTime $createdAt): void
{
$this->createdAt = $createdAt;
}
}