src/Entity/Timeline.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Symfony\Component\HttpFoundation\File\File;
  6. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  7. /**
  8.  * @ORM\Entity(repositoryClass="App\Repository\TimelineRepository")
  9.  * @Vich\Uploadable
  10.  */
  11. class Timeline
  12. {
  13.     /**
  14.      * @ORM\Id
  15.      * @ORM\GeneratedValue
  16.      * @ORM\Column(type="integer")
  17.      */
  18.     private $id;
  19.     /**
  20.      * @ORM\Column(type="string")
  21.      */
  22.     private $title;
  23.     /**
  24.      * @ORM\Column(type="string")
  25.      */
  26.     private $slug;
  27.     /**
  28.      * @ORM\Column(type="string", nullable=true)
  29.      */
  30.     private $header;
  31.     /**
  32.      * @Vich\UploadableField(mapping="timeline", fileNameProperty="header")
  33.      * @var File
  34.      */
  35.     private $headerFile;
  36.     /**
  37.      * @ORM\Column(type="integer", nullable=true)
  38.      */
  39.     private $rcmagTopicId;
  40.     /**
  41.      * @ORM\Column(type="integer", nullable=true)
  42.      */
  43.     private $rcmagPosterId;
  44.     /**
  45.      * @ORM\Column(type="integer", nullable=true)
  46.      */
  47.     private $rcnewsPosterId;
  48.     /**
  49.      * @ORM\Column(type="datetime")
  50.      * @var \DateTime
  51.      */
  52.     private $startDate;
  53.     /**
  54.      * @ORM\Column(type="datetime")
  55.      * @var \DateTime
  56.      */
  57.     private $endDate;
  58.     /**
  59.      * One Timeline has Many Articles.
  60.      * @ORM\OneToMany(targetEntity="Article", mappedBy="timeline")
  61.      * @ORM\OrderBy({"id" = "DESC"})
  62.      */
  63.     private $articles;
  64.     /**
  65.      * @ORM\Column(type="datetime", nullable=true)
  66.      * @var \DateTime
  67.      */
  68.     private $updatedAt;
  69.     public function __construct()
  70.     {
  71.         $this->articles = new ArrayCollection();
  72.         $this->startDate = new \DateTime();
  73.         $this->endDate = new \DateTime();
  74.         $this->updatedAt = new \DateTime();
  75.     }
  76.     /**
  77.      * @return integer
  78.      */
  79.     public function getId()
  80.     {
  81.         return $this->id;
  82.     }
  83.     /**
  84.      * @param integer $id
  85.      */
  86.     public function setId($id): void
  87.     {
  88.         $this->id $id;
  89.     }
  90.     /**
  91.      * @return string
  92.      */
  93.     public function getTitle()
  94.     {
  95.         return $this->title;
  96.     }
  97.     /**
  98.      * @param string $title
  99.      */
  100.     public function setTitle($title): void
  101.     {
  102.         $this->title $title;
  103.     }
  104.     /**
  105.      * @return string
  106.      */
  107.     public function getSlug()
  108.     {
  109.         return $this->slug;
  110.     }
  111.     /**
  112.      * @param string $slug
  113.      */
  114.     public function setSlug($slug): void
  115.     {
  116.         $this->slug $slug;
  117.     }
  118.     /**
  119.      * @return string
  120.      */
  121.     public function getHeader()
  122.     {
  123.         return $this->header;
  124.     }
  125.     /**
  126.      * @param string $header
  127.      */
  128.     public function setHeader($header): void
  129.     {
  130.         $this->header $header;
  131.     }
  132.     public function setHeaderFile(File $header null)
  133.     {
  134.         $this->headerFile $header;
  135.         if ($header) {
  136.             $this->updatedAt = new \DateTime('now');
  137.         }
  138.     }
  139.     public function getHeaderFile()
  140.     {
  141.         return $this->headerFile;
  142.     }
  143.     /**
  144.      * @return mixed
  145.      */
  146.     public function getRcmagTopicId()
  147.     {
  148.         return $this->rcmagTopicId;
  149.     }
  150.     /**
  151.      * @param mixed $rcmagTopicId
  152.      */
  153.     public function setRcmagTopicId($rcmagTopicId): void
  154.     {
  155.         $this->rcmagTopicId $rcmagTopicId;
  156.     }
  157.     /**
  158.      * @return mixed
  159.      */
  160.     public function getRcmagPosterId()
  161.     {
  162.         return $this->rcmagPosterId;
  163.     }
  164.     /**
  165.      * @param mixed $rcmagPosterId
  166.      */
  167.     public function setRcmagPosterId($rcmagPosterId): void
  168.     {
  169.         $this->rcmagPosterId $rcmagPosterId;
  170.     }
  171.     /**
  172.      * @return mixed
  173.      */
  174.     public function getRcnewsPosterId()
  175.     {
  176.         return $this->rcnewsPosterId;
  177.     }
  178.     /**
  179.      * @param mixed $rcnewsPosterId
  180.      */
  181.     public function setRcnewsPosterId($rcnewsPosterId): void
  182.     {
  183.         $this->rcnewsPosterId $rcnewsPosterId;
  184.     }
  185.     /**
  186.      * @return \DateTime
  187.      */
  188.     public function getStartDate()
  189.     {
  190.         return $this->startDate;
  191.     }
  192.     /**
  193.      * @param \DateTime $startDate
  194.      */
  195.     public function setStartDate(\DateTime $startDate): void
  196.     {
  197.         $this->startDate $startDate;
  198.     }
  199.     /**
  200.      * @return \DateTime
  201.      */
  202.     public function getEndDate()
  203.     {
  204.         return $this->endDate;
  205.     }
  206.     /**
  207.      * @param \DateTime $endDate
  208.      */
  209.     public function setEndDate(\DateTime $endDate): void
  210.     {
  211.         $this->endDate $endDate;
  212.     }
  213.     /**
  214.      * @return ArrayCollection|Article[]
  215.      */
  216.     public function getArticles()
  217.     {
  218.         return $this->articles;
  219.     }
  220.     public function __toString()
  221.     {
  222.         return $this->title;
  223.     }
  224. }