src/Entity/HomePage.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\HomePageRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Symfony\Component\Validator\Constraints as Assert;
  9. //use Symfony\Bridge\Doctrine\Validator\Constraints as DoctrineAssert;
  10. use Gedmo\Mapping\Annotation as Gedmo;
  11. /**
  12.  * @ORM\Entity(repositoryClass=HomePageRepository::class)
  13.  * @ORM\Table(name="home_page")
  14.  */
  15. class HomePage
  16. {
  17.     /**
  18.     * @ORM\Id
  19.     * @ORM\Column(type="integer")
  20.     * @ORM\GeneratedValue(strategy="AUTO")
  21.     */
  22.     protected $id;
  23.     /**
  24.     * @var string $name
  25.     *
  26.     * @ORM\Column(type="string", nullable=true)
  27.     */
  28.     protected $name;
  29.     /**
  30.     * @var string $banner_primary_link
  31.     *
  32.     * @ORM\Column(type="string", nullable=true)
  33.     */
  34.     protected $banner_primary_link;
  35.     /**
  36.     * @var string $banner_primary_desktop
  37.     *
  38.     * @ORM\ManyToOne(targetEntity="App\Entity\SonataMediaMedia", cascade = {"persist"})
  39.     * @ORM\JoinColumn(name="banner_primary_desktop_id", referencedColumnName="id", onDelete="SET NULL")
  40.     */
  41.     protected $banner_primary_desktop;
  42.     /**
  43.     * @var string $banner_primary_mobile
  44.     *
  45.     * @ORM\ManyToOne(targetEntity="App\Entity\SonataMediaMedia", cascade = {"persist"})
  46.     * @ORM\JoinColumn(name="banner_primary_mobile_id", referencedColumnName="id", onDelete="SET NULL")
  47.     */
  48.     protected $banner_primary_mobile;
  49.     /**
  50.     * @var string $banner_secondary_link
  51.     *
  52.     * @ORM\Column(type="string", nullable=true)
  53.     */
  54.     protected $banner_secondary_link;
  55.     /**
  56.     * @var string $banner_secondary_desktop
  57.     *
  58.     * @ORM\ManyToOne(targetEntity="App\Entity\SonataMediaMedia", cascade = {"persist"})
  59.     * @ORM\JoinColumn(name="banner_secondary_desktop_id", referencedColumnName="id", onDelete="SET NULL")
  60.     */
  61.     protected $banner_secondary_desktop;
  62.     /**
  63.     * @var string $banner_secondary_mobile
  64.     *
  65.     * @ORM\ManyToOne(targetEntity="App\Entity\SonataMediaMedia", cascade = {"persist"})
  66.     * @ORM\JoinColumn(name="banner_secondary_mobile_id", referencedColumnName="id", onDelete="SET NULL")
  67.     */
  68.     protected $banner_secondary_mobile;
  69.     /**
  70.     * @var string $banner_tertiary_link
  71.     *
  72.     * @ORM\Column(type="string", nullable=true)
  73.     */
  74.     protected $banner_tertiary_link;
  75.     /**
  76.     * @var string $banner_tertiary_desktop
  77.     *
  78.     * @ORM\ManyToOne(targetEntity="App\Entity\SonataMediaMedia", cascade = {"persist"})
  79.     * @ORM\JoinColumn(name="banner_tertiary_desktop_id", referencedColumnName="id", onDelete="SET NULL")
  80.     */
  81.     protected $banner_tertiary_desktop;
  82.     /**
  83.     * @var string $banner_tertiary_mobile
  84.     *
  85.     * @ORM\ManyToOne(targetEntity="App\Entity\SonataMediaMedia", cascade = {"persist"})
  86.     * @ORM\JoinColumn(name="banner_tertiary_mobile_id", referencedColumnName="id", onDelete="SET NULL")
  87.     */
  88.     protected $banner_tertiary_mobile;
  89.     /**
  90.      * @ORM\OneToMany(targetEntity = "App\Entity\HomeSlider", mappedBy="home_page", cascade={"persist"})
  91.      */
  92.     protected $sliders;
  93.     /**
  94.      * @var string $create_at
  95.      *
  96.      * @Gedmo\Timestampable(on="create")
  97.      * @ORM\Column(type="datetime", nullable=true)
  98.      */
  99.     protected $create_at;
  100.     /**
  101.      * @var string $update_at
  102.      *
  103.      * @Gedmo\Timestampable(on="update")
  104.      * @ORM\Column(type="datetime", nullable=true)
  105.      */
  106.     protected $update_at;
  107.     public function __construct()
  108.     {
  109.         $this->sliders = new ArrayCollection();
  110.     }
  111.     public function __toString(): string
  112.     {
  113.         return $this->name;
  114.     }
  115.     public function getId(): ?int
  116.     {
  117.         return $this->id;
  118.     }
  119.     public function getName(): ?string
  120.     {
  121.         return $this->name;
  122.     }
  123.     public function setName(?string $name): static
  124.     {
  125.         $this->name $name;
  126.         return $this;
  127.     }
  128.     public function getBannerPrimaryLink(): ?string
  129.     {
  130.         return $this->banner_primary_link;
  131.     }
  132.     public function setBannerPrimaryLink(?string $banner_primary_link): static
  133.     {
  134.         $this->banner_primary_link $banner_primary_link;
  135.         return $this;
  136.     }
  137.     public function getBannerSecondaryLink(): ?string
  138.     {
  139.         return $this->banner_secondary_link;
  140.     }
  141.     public function setBannerSecondaryLink(?string $banner_secondary_link): static
  142.     {
  143.         $this->banner_secondary_link $banner_secondary_link;
  144.         return $this;
  145.     }
  146.     public function getBannerTertiaryLink(): ?string
  147.     {
  148.         return $this->banner_tertiary_link;
  149.     }
  150.     public function setBannerTertiaryLink(?string $banner_tertiary_link): static
  151.     {
  152.         $this->banner_tertiary_link $banner_tertiary_link;
  153.         return $this;
  154.     }
  155.     public function getCreateAt(): ?\DateTimeInterface
  156.     {
  157.         return $this->create_at;
  158.     }
  159.     public function setCreateAt(?\DateTimeInterface $create_at): static
  160.     {
  161.         $this->create_at $create_at;
  162.         return $this;
  163.     }
  164.     public function getUpdateAt(): ?\DateTimeInterface
  165.     {
  166.         return $this->update_at;
  167.     }
  168.     public function setUpdateAt(?\DateTimeInterface $update_at): static
  169.     {
  170.         $this->update_at $update_at;
  171.         return $this;
  172.     }
  173.     public function getBannerPrimaryDesktop(): ?SonataMediaMedia
  174.     {
  175.         return $this->banner_primary_desktop;
  176.     }
  177.     public function setBannerPrimaryDesktop(?SonataMediaMedia $banner_primary_desktop): static
  178.     {
  179.         $this->banner_primary_desktop $banner_primary_desktop;
  180.         return $this;
  181.     }
  182.     public function getBannerPrimaryMobile(): ?SonataMediaMedia
  183.     {
  184.         return $this->banner_primary_mobile;
  185.     }
  186.     public function setBannerPrimaryMobile(?SonataMediaMedia $banner_primary_mobile): static
  187.     {
  188.         $this->banner_primary_mobile $banner_primary_mobile;
  189.         return $this;
  190.     }
  191.     public function getBannerSecondaryDesktop(): ?SonataMediaMedia
  192.     {
  193.         return $this->banner_secondary_desktop;
  194.     }
  195.     public function setBannerSecondaryDesktop(?SonataMediaMedia $banner_secondary_desktop): static
  196.     {
  197.         $this->banner_secondary_desktop $banner_secondary_desktop;
  198.         return $this;
  199.     }
  200.     public function getBannerSecondaryMobile(): ?SonataMediaMedia
  201.     {
  202.         return $this->banner_secondary_mobile;
  203.     }
  204.     public function setBannerSecondaryMobile(?SonataMediaMedia $banner_secondary_mobile): static
  205.     {
  206.         $this->banner_secondary_mobile $banner_secondary_mobile;
  207.         return $this;
  208.     }
  209.     public function getBannerTertiaryDesktop(): ?SonataMediaMedia
  210.     {
  211.         return $this->banner_tertiary_desktop;
  212.     }
  213.     public function setBannerTertiaryDesktop(?SonataMediaMedia $banner_tertiary_desktop): static
  214.     {
  215.         $this->banner_tertiary_desktop $banner_tertiary_desktop;
  216.         return $this;
  217.     }
  218.     public function getBannerTertiaryMobile(): ?SonataMediaMedia
  219.     {
  220.         return $this->banner_tertiary_mobile;
  221.     }
  222.     public function setBannerTertiaryMobile(?SonataMediaMedia $banner_tertiary_mobile): static
  223.     {
  224.         $this->banner_tertiary_mobile $banner_tertiary_mobile;
  225.         return $this;
  226.     }
  227.     /**
  228.      * @return Collection<int, HomeSlider>
  229.      */
  230.     public function getSliders(): Collection
  231.     {
  232.         return $this->sliders;
  233.     }
  234.     public function addSlider(HomeSlider $slider): static
  235.     {
  236.         if (!$this->sliders->contains($slider)) {
  237.             $this->sliders->add($slider);
  238.             $slider->setHomePage($this);
  239.         }
  240.         return $this;
  241.     }
  242.     public function removeSlider(HomeSlider $slider): static
  243.     {
  244.         if ($this->sliders->removeElement($slider)) {
  245.             // set the owning side to null (unless already changed)
  246.             if ($slider->getHomePage() === $this) {
  247.                 $slider->setHomePage(null);
  248.             }
  249.         }
  250.         return $this;
  251.     }
  252. }