src/Entity/DiscussionClassMessage.php line 15

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