src/Entity/DiscussionClass.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Traits\Timestampable;
  4. use App\Repository\DiscussionClassRepository;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use JMS\Serializer\Annotation\Groups;
  9. #[ORM\Entity(repositoryClassDiscussionClassRepository::class)]
  10. #[ORM\HasLifecycleCallbacks]
  11. class DiscussionClass
  12. {
  13.     use Timestampable;
  14.     #[ORM\Id]
  15.     #[ORM\GeneratedValue]
  16.     #[ORM\Column]
  17.     #[Groups(['getDiscussion','getDiscussionClass'])]
  18.     private ?int $id null;
  19.     #[ORM\ManyToOne(inversedBy'discussionClasses')]
  20.     #[Groups(['getDiscussion',"getDiscussionClass"])]
  21.     private ?TheClass $classe null;
  22.     #[ORM\ManyToOne(inversedBy'discussionClasses')]
  23.     private ?SchoolYear $year null;
  24.     #[ORM\ManyToOne(inversedBy'discussionClasses')]
  25.     private ?School $school null;
  26.     #[ORM\OneToMany(mappedBy'discussion'targetEntityDiscussionClassMessage::class)]
  27.     private Collection $discussionClassMessages;
  28.     #[ORM\OneToMany(mappedBy'Discussion'targetEntityDiscussionMessagesCount::class, orphanRemovaltrue)]
  29.     private Collection $discussionMessagesCounts;
  30.     public function __construct()
  31.     {
  32.         $this->discussionClassMessages = new ArrayCollection();
  33.         $this->discussionMessagesCounts = new ArrayCollection();
  34.     }
  35.     public function getId(): ?int
  36.     {
  37.         return $this->id;
  38.     }
  39.     public function getClasse(): ?TheClass
  40.     {
  41.         return $this->classe;
  42.     }
  43.     public function setClasse(?TheClass $classe): static
  44.     {
  45.         $this->classe $classe;
  46.         return $this;
  47.     }
  48.     public function getYear(): ?SchoolYear
  49.     {
  50.         return $this->year;
  51.     }
  52.     public function setYear(?SchoolYear $year): static
  53.     {
  54.         $this->year $year;
  55.         return $this;
  56.     }
  57.     public function getSchool(): ?School
  58.     {
  59.         return $this->school;
  60.     }
  61.     public function setSchool(?School $school): static
  62.     {
  63.         $this->school $school;
  64.         return $this;
  65.     }
  66.     /**
  67.      * @return Collection<int, DiscussionClassMessage>
  68.      */
  69.     public function getDiscussionClassMessages(): Collection
  70.     {
  71.         return $this->discussionClassMessages;
  72.     }
  73.     public function addDiscussionClassMessage(DiscussionClassMessage $discussionClassMessage): static
  74.     {
  75.         if (!$this->discussionClassMessages->contains($discussionClassMessage)) {
  76.             $this->discussionClassMessages->add($discussionClassMessage);
  77.             $discussionClassMessage->setDiscussion($this);
  78.         }
  79.         return $this;
  80.     }
  81.     public function removeDiscussionClassMessage(DiscussionClassMessage $discussionClassMessage): static
  82.     {
  83.         if ($this->discussionClassMessages->removeElement($discussionClassMessage)) {
  84.             // set the owning side to null (unless already changed)
  85.             if ($discussionClassMessage->getDiscussion() === $this) {
  86.                 $discussionClassMessage->setDiscussion(null);
  87.             }
  88.         }
  89.         return $this;
  90.     }
  91.     /**
  92.      * @return Collection<int, DiscussionMessagesCount>
  93.      */
  94.     public function getDiscussionMessagesCounts(): Collection
  95.     {
  96.         return $this->discussionMessagesCounts;
  97.     }
  98.     public function addDiscussionMessagesCount(DiscussionMessagesCount $discussionMessagesCount): static
  99.     {
  100.         if (!$this->discussionMessagesCounts->contains($discussionMessagesCount)) {
  101.             $this->discussionMessagesCounts->add($discussionMessagesCount);
  102.             $discussionMessagesCount->setDiscussion($this);
  103.         }
  104.         return $this;
  105.     }
  106.     public function removeDiscussionMessagesCount(DiscussionMessagesCount $discussionMessagesCount): static
  107.     {
  108.         if ($this->discussionMessagesCounts->removeElement($discussionMessagesCount)) {
  109.             // set the owning side to null (unless already changed)
  110.             if ($discussionMessagesCount->getDiscussion() === $this) {
  111.                 $discussionMessagesCount->setDiscussion(null);
  112.             }
  113.         }
  114.         return $this;
  115.     }
  116. }