src/Entity/Gos/Consultant/ConsultantRoom.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Gos\Consultant;
  3. use App\Entity\Gos\User;
  4. use App\Repository\Gos\Consultant\ConsultantRoomRepository;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. use Doctrine\ORM\Mapping as ORM;
  8. /**
  9.  * @ORM\Entity(repositoryClass=ConsultantRoomRepository::class)
  10.  */
  11. class ConsultantRoom extends ConsultantChatBase
  12. {
  13.     /**
  14.      * @ORM\ManyToOne(targetEntity=User::class)
  15.      * @ORM\JoinColumn(nullable=false)
  16.      */
  17.     private $consultant;
  18.     /**
  19.      * @ORM\Column(type="datetime")
  20.      */
  21.     private $waitingFrom;
  22.     /**
  23.      * @ORM\OneToMany(targetEntity=ConsultantMessage::class, mappedBy="consultantRoom")
  24.      */
  25.     private $consultantMessages;
  26.     /**
  27.      * @ORM\Column(type="datetime", nullable=true)
  28.      */
  29.     private $lastMessageAt;
  30.     public function __construct()
  31.     {
  32.         $this->consultantMessages = new ArrayCollection();
  33.     }
  34.     public function getConsultant(): ?User
  35.     {
  36.         return $this->consultant;
  37.     }
  38.     public function setConsultant(?User $consultant): self
  39.     {
  40.         $this->consultant $consultant;
  41.         return $this;
  42.     }
  43.     public function getWaitingFrom(): ?\DateTimeInterface
  44.     {
  45.         return $this->waitingFrom;
  46.     }
  47.     public function setWaitingFrom(\DateTimeInterface $waitingFrom): self
  48.     {
  49.         $this->waitingFrom $waitingFrom;
  50.         return $this;
  51.     }
  52.     /**
  53.      * @return Collection|ConsultantMessage[]
  54.      */
  55.     public function getConsultantMessages(): Collection
  56.     {
  57.         return $this->consultantMessages;
  58.     }
  59.     public function addConsultantMessage(ConsultantMessage $consultantMessage): self
  60.     {
  61.         if (!$this->consultantMessages->contains($consultantMessage)) {
  62.             $this->consultantMessages[] = $consultantMessage;
  63.             $consultantMessage->setConsultantRoom($this);
  64.         }
  65.         return $this;
  66.     }
  67.     public function removeConsultantMessage(ConsultantMessage $consultantMessage): self
  68.     {
  69.         if ($this->consultantMessages->contains($consultantMessage)) {
  70.             $this->consultantMessages->removeElement($consultantMessage);
  71.             // set the owning side to null (unless already changed)
  72.             if ($consultantMessage->getConsultantRoom() === $this) {
  73.                 $consultantMessage->setConsultantRoom(null);
  74.             }
  75.         }
  76.         return $this;
  77.     }
  78.     public function getLastMessageAt(): ?\DateTimeInterface
  79.     {
  80.         return $this->lastMessageAt;
  81.     }
  82.     public function setLastMessageAt(?\DateTimeInterface $lastMessageAt): self
  83.     {
  84.         $this->lastMessageAt $lastMessageAt;
  85.         return $this;
  86.     }
  87. }