<?phpnamespace App\Entity\Gos\Consultant;use App\Entity\Gos\User;use App\Repository\Gos\Consultant\ConsultantRoomRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=ConsultantRoomRepository::class) */class ConsultantRoom extends ConsultantChatBase{ /** * @ORM\ManyToOne(targetEntity=User::class) * @ORM\JoinColumn(nullable=false) */ private $consultant; /** * @ORM\Column(type="datetime") */ private $waitingFrom; /** * @ORM\OneToMany(targetEntity=ConsultantMessage::class, mappedBy="consultantRoom") */ private $consultantMessages; /** * @ORM\Column(type="datetime", nullable=true) */ private $lastMessageAt; public function __construct() { $this->consultantMessages = new ArrayCollection(); } public function getConsultant(): ?User { return $this->consultant; } public function setConsultant(?User $consultant): self { $this->consultant = $consultant; return $this; } public function getWaitingFrom(): ?\DateTimeInterface { return $this->waitingFrom; } public function setWaitingFrom(\DateTimeInterface $waitingFrom): self { $this->waitingFrom = $waitingFrom; return $this; } /** * @return Collection|ConsultantMessage[] */ public function getConsultantMessages(): Collection { return $this->consultantMessages; } public function addConsultantMessage(ConsultantMessage $consultantMessage): self { if (!$this->consultantMessages->contains($consultantMessage)) { $this->consultantMessages[] = $consultantMessage; $consultantMessage->setConsultantRoom($this); } return $this; } public function removeConsultantMessage(ConsultantMessage $consultantMessage): self { if ($this->consultantMessages->contains($consultantMessage)) { $this->consultantMessages->removeElement($consultantMessage); // set the owning side to null (unless already changed) if ($consultantMessage->getConsultantRoom() === $this) { $consultantMessage->setConsultantRoom(null); } } return $this; } public function getLastMessageAt(): ?\DateTimeInterface { return $this->lastMessageAt; } public function setLastMessageAt(?\DateTimeInterface $lastMessageAt): self { $this->lastMessageAt = $lastMessageAt; return $this; }}