<?php
namespace App\Entity;
use App\Repository\HomePageRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
//use Symfony\Bridge\Doctrine\Validator\Constraints as DoctrineAssert;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* @ORM\Entity(repositoryClass=HomePageRepository::class)
* @ORM\Table(name="home_page")
*/
class HomePage
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string $name
*
* @ORM\Column(type="string", nullable=true)
*/
protected $name;
/**
* @var string $banner_primary_link
*
* @ORM\Column(type="string", nullable=true)
*/
protected $banner_primary_link;
/**
* @var string $banner_primary_desktop
*
* @ORM\ManyToOne(targetEntity="App\Entity\SonataMediaMedia", cascade = {"persist"})
* @ORM\JoinColumn(name="banner_primary_desktop_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $banner_primary_desktop;
/**
* @var string $banner_primary_mobile
*
* @ORM\ManyToOne(targetEntity="App\Entity\SonataMediaMedia", cascade = {"persist"})
* @ORM\JoinColumn(name="banner_primary_mobile_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $banner_primary_mobile;
/**
* @var string $banner_secondary_link
*
* @ORM\Column(type="string", nullable=true)
*/
protected $banner_secondary_link;
/**
* @var string $banner_secondary_desktop
*
* @ORM\ManyToOne(targetEntity="App\Entity\SonataMediaMedia", cascade = {"persist"})
* @ORM\JoinColumn(name="banner_secondary_desktop_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $banner_secondary_desktop;
/**
* @var string $banner_secondary_mobile
*
* @ORM\ManyToOne(targetEntity="App\Entity\SonataMediaMedia", cascade = {"persist"})
* @ORM\JoinColumn(name="banner_secondary_mobile_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $banner_secondary_mobile;
/**
* @var string $banner_tertiary_link
*
* @ORM\Column(type="string", nullable=true)
*/
protected $banner_tertiary_link;
/**
* @var string $banner_tertiary_desktop
*
* @ORM\ManyToOne(targetEntity="App\Entity\SonataMediaMedia", cascade = {"persist"})
* @ORM\JoinColumn(name="banner_tertiary_desktop_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $banner_tertiary_desktop;
/**
* @var string $banner_tertiary_mobile
*
* @ORM\ManyToOne(targetEntity="App\Entity\SonataMediaMedia", cascade = {"persist"})
* @ORM\JoinColumn(name="banner_tertiary_mobile_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $banner_tertiary_mobile;
/**
* @ORM\OneToMany(targetEntity = "App\Entity\HomeSlider", mappedBy="home_page", cascade={"persist"})
*/
protected $sliders;
/**
* @var string $create_at
*
* @Gedmo\Timestampable(on="create")
* @ORM\Column(type="datetime", nullable=true)
*/
protected $create_at;
/**
* @var string $update_at
*
* @Gedmo\Timestampable(on="update")
* @ORM\Column(type="datetime", nullable=true)
*/
protected $update_at;
public function __construct()
{
$this->sliders = new ArrayCollection();
}
public function __toString(): string
{
return $this->name;
}
public function getId(): ?int
{
return $this->id;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(?string $name): static
{
$this->name = $name;
return $this;
}
public function getBannerPrimaryLink(): ?string
{
return $this->banner_primary_link;
}
public function setBannerPrimaryLink(?string $banner_primary_link): static
{
$this->banner_primary_link = $banner_primary_link;
return $this;
}
public function getBannerSecondaryLink(): ?string
{
return $this->banner_secondary_link;
}
public function setBannerSecondaryLink(?string $banner_secondary_link): static
{
$this->banner_secondary_link = $banner_secondary_link;
return $this;
}
public function getBannerTertiaryLink(): ?string
{
return $this->banner_tertiary_link;
}
public function setBannerTertiaryLink(?string $banner_tertiary_link): static
{
$this->banner_tertiary_link = $banner_tertiary_link;
return $this;
}
public function getCreateAt(): ?\DateTimeInterface
{
return $this->create_at;
}
public function setCreateAt(?\DateTimeInterface $create_at): static
{
$this->create_at = $create_at;
return $this;
}
public function getUpdateAt(): ?\DateTimeInterface
{
return $this->update_at;
}
public function setUpdateAt(?\DateTimeInterface $update_at): static
{
$this->update_at = $update_at;
return $this;
}
public function getBannerPrimaryDesktop(): ?SonataMediaMedia
{
return $this->banner_primary_desktop;
}
public function setBannerPrimaryDesktop(?SonataMediaMedia $banner_primary_desktop): static
{
$this->banner_primary_desktop = $banner_primary_desktop;
return $this;
}
public function getBannerPrimaryMobile(): ?SonataMediaMedia
{
return $this->banner_primary_mobile;
}
public function setBannerPrimaryMobile(?SonataMediaMedia $banner_primary_mobile): static
{
$this->banner_primary_mobile = $banner_primary_mobile;
return $this;
}
public function getBannerSecondaryDesktop(): ?SonataMediaMedia
{
return $this->banner_secondary_desktop;
}
public function setBannerSecondaryDesktop(?SonataMediaMedia $banner_secondary_desktop): static
{
$this->banner_secondary_desktop = $banner_secondary_desktop;
return $this;
}
public function getBannerSecondaryMobile(): ?SonataMediaMedia
{
return $this->banner_secondary_mobile;
}
public function setBannerSecondaryMobile(?SonataMediaMedia $banner_secondary_mobile): static
{
$this->banner_secondary_mobile = $banner_secondary_mobile;
return $this;
}
public function getBannerTertiaryDesktop(): ?SonataMediaMedia
{
return $this->banner_tertiary_desktop;
}
public function setBannerTertiaryDesktop(?SonataMediaMedia $banner_tertiary_desktop): static
{
$this->banner_tertiary_desktop = $banner_tertiary_desktop;
return $this;
}
public function getBannerTertiaryMobile(): ?SonataMediaMedia
{
return $this->banner_tertiary_mobile;
}
public function setBannerTertiaryMobile(?SonataMediaMedia $banner_tertiary_mobile): static
{
$this->banner_tertiary_mobile = $banner_tertiary_mobile;
return $this;
}
/**
* @return Collection<int, HomeSlider>
*/
public function getSliders(): Collection
{
return $this->sliders;
}
public function addSlider(HomeSlider $slider): static
{
if (!$this->sliders->contains($slider)) {
$this->sliders->add($slider);
$slider->setHomePage($this);
}
return $this;
}
public function removeSlider(HomeSlider $slider): static
{
if ($this->sliders->removeElement($slider)) {
// set the owning side to null (unless already changed)
if ($slider->getHomePage() === $this) {
$slider->setHomePage(null);
}
}
return $this;
}
}