src/Entity/CaseStudies.php line 34

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Traits\LinkTrait;
  4. use App\Entity\Traits\MetaTrait;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use App\Entity\Traits\ActiveTrait;
  7. use App\Entity\Traits\DeleteTrait;
  8. use App\Entity\Traits\SubTitleTrait;
  9. use App\Entity\Traits\SortOrderTrait;
  10. use App\Entity\Traits\TranslateTrait;
  11. use Gedmo\Mapping\Annotation as Gedmo;
  12. use App\Entity\Traits\ImageUploadTrait;
  13. use App\Entity\Traits\VideoUploadTrait;
  14. use Doctrine\Common\Collections\Criteria;
  15. use App\Entity\Traits\TitleAndContentTrait;
  16. use Doctrine\Common\Collections\Collection;
  17. use App\Entity\Traits\SecondImageUploadTrait;
  18. use App\Entity\Interfaces\DefaultLinkedEntity;
  19. use App\Entity\Traits\FeaturedTrait;
  20. use Doctrine\Common\Collections\ArrayCollection;
  21. use Gedmo\Timestampable\Traits\TimestampableEntity;
  22. /**
  23.  * CaseStudies.
  24.  *
  25.  * @Gedmo\Loggable
  26.  *
  27.  * @Gedmo\TranslationEntity(class="App\Entity\CaseStudiesTranslations")
  28.  */
  29. #[ORM\Entity(repositoryClass\App\Repository\CaseStudiesRepository::class)]
  30. #[ORM\Table(name'casestudies')]
  31. class CaseStudies implements DefaultLinkedEntity
  32. {
  33.     use TitleAndContentTrait;
  34.     use SubTitleTrait;
  35.     use LinkTrait;
  36.     use MetaTrait;
  37.     use FeaturedTrait;
  38.     use ActiveTrait;
  39.     use DeleteTrait;
  40.     use ImageUploadTrait;
  41.     use SecondImageUploadTrait;
  42.     use TimestampableEntity;
  43.     use TranslateTrait;
  44.     use SortOrderTrait;
  45.     #[ORM\Column(name'id'type'integer')]
  46.     #[ORM\Id]
  47.     #[ORM\GeneratedValue(strategy'AUTO')]
  48.     private int $id;
  49.     #[ORM\ManyToOne(targetEntityClient::class)]
  50.     #[ORM\JoinColumn(nullablefalse)]
  51.     private $client;
  52.     #[ORM\Column(type'string'length255)]
  53.     private $location;
  54.     #[ORM\Column(type'string'length255nullabletrue)]
  55.     private $duration;
  56.     #[ORM\Column(type'text'nullabletrue)]
  57.     private $scope;
  58.     #[ORM\OneToMany(mappedBy'caseStudy'targetEntityCaseStudySlideItem::class)]
  59.     #[ORM\OrderBy(['sortOrder' => 'ASC'])]
  60.     private $caseStudySlideItems;
  61.     #[ORM\Column(type'boolean')]
  62.     private $featuredInMenu;
  63.     public function __construct()
  64.     {
  65.         $this->caseStudySlideItems = new ArrayCollection();
  66.     }
  67.     public function getId(): int
  68.     {
  69.         return $this->id;
  70.     }
  71.     public function getLinkedPageId(): int
  72.     {
  73.         return 26;
  74.     }
  75.     public function getClient(): ?Client
  76.     {
  77.         return $this->client;
  78.     }
  79.     public function setClient(?Client $client): self
  80.     {
  81.         $this->client $client;
  82.         return $this;
  83.     }
  84.     public function getLocation(): ?string
  85.     {
  86.         return $this->location;
  87.     }
  88.     public function setLocation(string $location): self
  89.     {
  90.         $this->location $location;
  91.         return $this;
  92.     }
  93.     public function getDuration(): ?string
  94.     {
  95.         return $this->duration;
  96.     }
  97.     public function setDuration(?string $duration): self
  98.     {
  99.         $this->duration $duration;
  100.         return $this;
  101.     }
  102.     public function getscope(): ?string
  103.     {
  104.         return $this->scope;
  105.     }
  106.     public function setScope(?string $scope): self
  107.     {
  108.         $this->scope $scope;
  109.         return $this;
  110.     }
  111.     /**
  112.      * @return Collection<int, CaseStudySlideItem>
  113.      */
  114.     public function getCaseStudySlideItems(): Collection
  115.     {
  116.         return $this->caseStudySlideItems;
  117.     }
  118.     public function addCaseStudySlideItem(CaseStudySlideItem $caseStudySlideItem): self
  119.     {
  120.         if (!$this->caseStudySlideItems->contains($caseStudySlideItem)) {
  121.             $this->caseStudySlideItems[] = $caseStudySlideItem;
  122.             $caseStudySlideItem->setCaseStudy($this);
  123.         }
  124.         return $this;
  125.     }
  126.     public function removeCaseStudySlideItem(CaseStudySlideItem $caseStudySlideItem): self
  127.     {
  128.         if ($this->caseStudySlideItems->removeElement($caseStudySlideItem)) {
  129.             // set the owning side to null (unless already changed)
  130.             if ($caseStudySlideItem->getCaseStudy() === $this) {
  131.                 $caseStudySlideItem->setCaseStudy(null);
  132.             }
  133.         }
  134.         return $this;
  135.     }
  136.     public function getActiveCaseStudySlideItems()
  137.     {
  138.         $criteria Criteria::create()
  139.             ->andWhere(Criteria::expr()->eq('deleted'false));
  140.         return $this->caseStudySlideItems->matching($criteria);
  141.     }
  142.     public function getFeaturedInMenu(): ?bool
  143.     {
  144.         return $this->featuredInMenu;
  145.     }
  146.     public function setFeaturedInMenu(bool $featuredInMenu): self
  147.     {
  148.         $this->featuredInMenu $featuredInMenu;
  149.         return $this;
  150.     }
  151. }