<?phpnamespace App\Entity;use App\Repository\RoomRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=RoomRepository::class) */class Room{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=150) */ private $lastMessage; /** * @ORM\ManyToOne(targetEntity=User::class, inversedBy="rooms") * @ORM\JoinColumn(nullable=false) */ private $caller; /** * @ORM\ManyToOne(targetEntity=User::class, inversedBy="rooms") * @ORM\JoinColumn(nullable=false) */ private $called; /** * @ORM\Column(type="datetime") */ private $lastUpdate; /** * @ORM\OneToMany(targetEntity=Message::class, mappedBy="room") */ private $messages; public function __construct() { $this->messages = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getLastMessage(): ?string { return $this->lastMessage; } public function setLastMessage(string $lastMessage): self { $this->lastMessage = $lastMessage; return $this; } public function getCaller(): ?User { return $this->caller; } public function setCaller(?User $caller): self { $this->caller = $caller; return $this; } public function getCalled(): ?User { return $this->called; } public function setCalled(?User $called): self { $this->called = $called; return $this; } public function getLastUpdate(): ?\DateTimeInterface { return $this->lastUpdate; } public function setLastUpdate(\DateTimeInterface $lastUpdate): self { $this->lastUpdate = $lastUpdate; return $this; } /** * @return Collection|Message[] */ public function getMessages(): Collection { return $this->messages; } public function addMessage(Message $message): self { if (!$this->messages->contains($message)) { $this->messages[] = $message; $message->setRoom($this); } return $this; } public function removeMessage(Message $message): self { if ($this->messages->removeElement($message)) { // set the owning side to null (unless already changed) if ($message->getRoom() === $this) { $message->setRoom(null); } } return $this; }}