<?php
namespace App\Entity\Gos\Consultant;
use App\Repository\Gos\Consultant\ConsultantRoomQueueRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=ConsultantRoomQueueRepository::class)
* @ORM\HasLifecycleCallbacks()
*/
class ConsultantRoomQueue extends ConsultantChatBase
{
/**
* @ORM\OneToMany(targetEntity=ConsultantMessage::class, mappedBy="consultantRoomQueue")
*/
private $consultantMessages;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $lastMessageAt;
public function __construct()
{
$this->consultantMessages = new ArrayCollection();
}
/**
* @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->setConsultantRoomQueue($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->getConsultantRoomQueue() === $this) {
$consultantMessage->setConsultantRoomQueue(null);
}
}
return $this;
}
public function getLastMessageAt(): ?\DateTimeInterface
{
return $this->lastMessageAt;
}
public function setLastMessageAt(?\DateTimeInterface $lastMessageAt): self
{
$this->lastMessageAt = $lastMessageAt;
return $this;
}
}