src/Entity/Room.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\RoomRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. /**
  9.  * @ORM\Entity(repositoryClass=RoomRepository::class)
  10.  */
  11. class Room
  12. {
  13.     /**
  14.      * @ORM\Id
  15.      * @ORM\GeneratedValue
  16.      * @ORM\Column(type="integer")
  17.      */
  18.     private $id;
  19.     /**
  20.      * @ORM\Column(type="string", length=150)
  21.      */
  22.     private $lastMessage;
  23.     /**
  24.      * @ORM\ManyToOne(targetEntity=User::class, inversedBy="rooms")
  25.      * @ORM\JoinColumn(nullable=false)
  26.      */
  27.     private $caller;
  28.     /**
  29.      * @ORM\ManyToOne(targetEntity=User::class, inversedBy="rooms")
  30.      * @ORM\JoinColumn(nullable=false)
  31.      */
  32.     private $called;
  33.     /**
  34.      * @ORM\Column(type="datetime")
  35.      */
  36.     private $lastUpdate;
  37.     /**
  38.      * @ORM\OneToMany(targetEntity=Message::class, mappedBy="room")
  39.      */
  40.     private $messages;
  41.     public function __construct()
  42.     {
  43.         $this->messages = new ArrayCollection();
  44.     }
  45.     public function getId(): ?int
  46.     {
  47.         return $this->id;
  48.     }
  49.     public function getLastMessage(): ?string
  50.     {
  51.         return $this->lastMessage;
  52.     }
  53.     public function setLastMessage(string $lastMessage): self
  54.     {
  55.         $this->lastMessage $lastMessage;
  56.         return $this;
  57.     }
  58.     public function getCaller(): ?User
  59.     {
  60.         return $this->caller;
  61.     }
  62.     public function setCaller(?User $caller): self
  63.     {
  64.         $this->caller $caller;
  65.         return $this;
  66.     }
  67.     public function getCalled(): ?User
  68.     {
  69.         return $this->called;
  70.     }
  71.     public function setCalled(?User $called): self
  72.     {
  73.         $this->called $called;
  74.         return $this;
  75.     }
  76.     public function getLastUpdate(): ?\DateTimeInterface
  77.     {
  78.         return $this->lastUpdate;
  79.     }
  80.     public function setLastUpdate(\DateTimeInterface $lastUpdate): self
  81.     {
  82.         $this->lastUpdate $lastUpdate;
  83.         return $this;
  84.     }
  85.     /**
  86.      * @return Collection|Message[]
  87.      */
  88.     public function getMessages(): Collection
  89.     {
  90.         return $this->messages;
  91.     }
  92.     public function addMessage(Message $message): self
  93.     {
  94.         if (!$this->messages->contains($message)) {
  95.             $this->messages[] = $message;
  96.             $message->setRoom($this);
  97.         }
  98.         return $this;
  99.     }
  100.     public function removeMessage(Message $message): self
  101.     {
  102.         if ($this->messages->removeElement($message)) {
  103.             // set the owning side to null (unless already changed)
  104.             if ($message->getRoom() === $this) {
  105.                 $message->setRoom(null);
  106.             }
  107.         }
  108.         return $this;
  109.     }
  110. }