<?phpnamespace App\Entity;use App\Entity\Traits\Timestampable;use App\Repository\DiscussionClassRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;use JMS\Serializer\Annotation\Groups;#[ORM\Entity(repositoryClass: DiscussionClassRepository::class)]#[ORM\HasLifecycleCallbacks]class DiscussionClass{ use Timestampable; #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] #[Groups(['getDiscussionClass','getDiscussionClass'])] private ?int $id = null; #[ORM\ManyToOne(inversedBy: 'discussionClasses')] #[Groups(['getDiscussionClass',"getDiscussionClass"])] private ?TheClass $classe = null; #[ORM\ManyToOne(inversedBy: 'discussionClasses')] private ?SchoolYear $year = null; #[ORM\ManyToOne(inversedBy: 'discussionClasses')] private ?School $school = null; #[ORM\OneToMany(mappedBy: 'discussion', targetEntity: DiscussionClassMessage::class)] private Collection $discussionClassMessages; public function __construct() { $this->discussionClassMessages = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getClasse(): ?TheClass { return $this->classe; } public function setClasse(?TheClass $classe): static { $this->classe = $classe; return $this; } public function getYear(): ?SchoolYear { return $this->year; } public function setYear(?SchoolYear $year): static { $this->year = $year; return $this; } public function getSchool(): ?School { return $this->school; } public function setSchool(?School $school): static { $this->school = $school; return $this; } /** * @return Collection<int, DiscussionClassMessage> */ public function getDiscussionClassMessages(): Collection { return $this->discussionClassMessages; } public function addDiscussionClassMessage(DiscussionClassMessage $discussionClassMessage): static { if (!$this->discussionClassMessages->contains($discussionClassMessage)) { $this->discussionClassMessages->add($discussionClassMessage); $discussionClassMessage->setDiscussion($this); } return $this; } public function removeDiscussionClassMessage(DiscussionClassMessage $discussionClassMessage): static { if ($this->discussionClassMessages->removeElement($discussionClassMessage)) { // set the owning side to null (unless already changed) if ($discussionClassMessage->getDiscussion() === $this) { $discussionClassMessage->setDiscussion(null); } } return $this; }}