<?phpnamespace App\Entity;use App\Repository\ThemeRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;use Cocur\Slugify\Slugify;/** * @ORM\Entity(repositoryClass=ThemeRepository::class) */class Theme{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) */ private $title; /** * @ORM\Column(type="text", nullable=true) */ private $topDescription; /** * @ORM\Column(type="text", nullable=true) */ private $bottomDescription; /** * @ORM\Column(type="boolean") */ private $isActive; /** * @ORM\ManyToMany(targetEntity=Sejour::class, mappedBy="themes") */ private $sejours; /** * @ORM\Column(type="integer", nullable=true) */ private $legacyId; /** * @ORM\Column(type="string", length=255) */ private $slug; /** * @ORM\Column(type="boolean", nullable=true) */ private $isActivite; public function __construct() { $this->sejours = new ArrayCollection(); $this->isActivite = false; } public function getId(): ?int { return $this->id; } public function getTitle(): ?string { return $this->title; } public function setTitle(string $title): self { $this->title = $title; $slugify = new Slugify(); $this->slug = $slugify->Slugify($title,'_'); return $this; } public function getTopDescription(): ?string { return $this->topDescription; } public function setTopDescription(?string $topDescription): self { $this->topDescription = $topDescription; return $this; } public function getBottomDescription(): ?string { return $this->bottomDescription; } public function setBottomDescription(?string $bottomDescription): self { $this->bottomDescription = $bottomDescription; return $this; } public function getIsActive(): ?bool { return $this->isActive; } public function setIsActive(bool $isActive): self { $this->isActive = $isActive; return $this; } /** * @return Collection|Sejour[] */ public function getSejours(): Collection { return $this->sejours; } public function addSejour(Sejour $sejour): self { if (!$this->sejours->contains($sejour)) { $this->sejours[] = $sejour; $sejour->addTheme($this); } return $this; } public function removeSejour(Sejour $sejour): self { if ($this->sejours->removeElement($sejour)) { $sejour->removeTheme($this); } return $this; } public function getLegacyId(): ?int { return $this->legacyId; } public function setLegacyId(?int $legacyId): self { $this->legacyId = $legacyId; return $this; } public function getSlug(): ?string { return $this->slug; } public function setSlug(string $slug): self { $this->slug = $slug; return $this; } public function getIsActivite(): ?bool { return $this->isActivite; } public function setIsActivite(?bool $isActivite): self { $this->isActivite = $isActivite; return $this; }}