<?phpnamespace App\Entity;use App\Entity\Traits\LinkTrait;use App\Entity\Traits\MetaTrait;use Doctrine\ORM\Mapping as ORM;use App\Entity\Traits\ActiveTrait;use App\Entity\Traits\DeleteTrait;use App\Entity\Traits\SubTitleTrait;use App\Entity\Traits\SortOrderTrait;use App\Entity\Traits\TranslateTrait;use App\Repository\SectorsRepository;use Gedmo\Mapping\Annotation as Gedmo;use App\Entity\Traits\ImageUploadTrait;use App\Entity\Traits\SitemapableTrait;use App\Entity\Traits\TitleAndContentTrait;use Doctrine\Common\Collections\Collection;use App\Entity\Traits\ThirdImageUploadTrait;use App\Entity\Traits\FourthImageUploadTrait;use App\Entity\Traits\SecondImageUploadTrait;use App\Entity\Interfaces\DefaultLinkedEntity;use Doctrine\Common\Collections\ArrayCollection;use Gedmo\Timestampable\Traits\TimestampableEntity;/** * @Gedmo\Loggable */#[ORM\Entity(repositoryClass: SectorsRepository::class)]class Sectors implements DefaultLinkedEntity{ use TitleAndContentTrait; use SubTitleTrait; use ImageUploadTrait; use SecondImageUploadTrait; use ThirdImageUploadTrait; use FourthImageUploadTrait; use SortOrderTrait; use ActiveTrait; use DeleteTrait; use LinkTrait; use MetaTrait; use TimestampableEntity; use TranslateTrait; use SitemapableTrait; #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column(type:"integer")] private $id; #[ORM\Column(type: 'string', length: 255)] private $icon; #[ORM\Column(type: 'text', nullable: true)] private $kicker; #[ORM\Column(type: 'text', nullable: true)] private $content2; #[ORM\Column(type: 'text', nullable: true)] private $content3; #[ORM\Column(type: 'text', nullable: true)] private $content4; #[ORM\OneToMany(mappedBy: 'projectType', targetEntity: CaseStudies::class)] private $caseStudies; #[ORM\ManyToOne(targetEntity: Gallery::class)] private $gallery; public function __construct() { $this->caseStudies = new ArrayCollection(); } public function getId(): ?int { return $this->id; } // Required By The MetaTrait / DefaultLinkedEntity Interface public function getLinkedPageId(): int { return 14; } public function getIcon(): ?string { return $this->icon; } public function setIcon(string $icon): self { $this->icon = $icon; return $this; } public function getKicker(): ?string { return $this->kicker; } public function setKicker(?string $kicker): self { $this->kicker = $kicker; return $this; } public function getContent2(): ?string { return $this->content2; } public function setContent2(?string $content2): self { $this->content2 = $content2; return $this; } public function getContent3(): ?string { return $this->content3; } public function setContent3(?string $content3): self { $this->content3 = $content3; return $this; } public function getContent4(): ?string { return $this->content4; } public function setContent4(?string $content4): self { $this->content4 = $content4; return $this; } /** * @return Collection<int, CaseStudies> */ public function getCaseStudies(): Collection { return $this->caseStudies; } public function addCaseStudy(CaseStudies $caseStudy): self { if (!$this->caseStudies->contains($caseStudy)) { $this->caseStudies[] = $caseStudy; $caseStudy->setProjectType($this); } return $this; } public function removeCaseStudy(CaseStudies $caseStudy): self { if ($this->caseStudies->removeElement($caseStudy)) { // set the owning side to null (unless already changed) if ($caseStudy->getProjectType() === $this) { $caseStudy->setProjectType(null); } } return $this; } public function getGallery(): ?Gallery { return $this->gallery; } public function setGallery(?Gallery $gallery): self { $this->gallery = $gallery; return $this; } public function getSitemapRouteParams(): array { return ['slug' => $this->getSlug()]; } public function isIncludedInSitemap(): bool { return $this->isActive() && ! $this->isDeleted(); }}