<?php
namespace App\Entity;
use App\Repository\ForumSujetRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=ForumSujetRepository::class)
*/
class ForumSujet
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $titre;
/**
* @ORM\ManyToOne(targetEntity=User::class, inversedBy="forumSujets")
* @ORM\JoinColumn(nullable=false)
*/
private $auteur;
/**
* @ORM\Column(type="text")
*/
private $contenu;
/**
* @ORM\Column(type="datetime")
*/
private $date;
/**
* @ORM\ManyToOne(targetEntity=Province::class, inversedBy="forumSujets")
* @ORM\JoinColumn(nullable=false)
*/
private $province;
/**
* @ORM\OneToMany(targetEntity=ForumMessage::class, mappedBy="forumSujet")
*/
private $messages;
/**
* @ORM\ManyToOne(targetEntity=ForumCategorie::class, inversedBy="sujets")
*/
private $categorie;
public function __construct()
{
$this->messages = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getTitre(): ?string
{
return $this->titre;
}
public function setTitre(string $titre): self
{
$this->titre = $titre;
return $this;
}
public function getAuteur(): ?User
{
return $this->auteur;
}
public function setAuteur(?User $auteur): self
{
$this->auteur = $auteur;
return $this;
}
public function getContenu(): ?string
{
return $this->contenu;
}
public function setContenu(string $contenu): self
{
$this->contenu = $contenu;
return $this;
}
public function getDate(): ?\DateTimeInterface
{
return $this->date;
}
public function setDate(\DateTimeInterface $date): self
{
$this->date = $date;
return $this;
}
public function getProvince(): ?Province
{
return $this->province;
}
public function setProvince(?Province $province): self
{
$this->province = $province;
return $this;
}
/**
* @return Collection<int, ForumMessage>
*/
public function getMessages(): Collection
{
return $this->messages;
}
public function addMessage(ForumMessage $message): self
{
if (!$this->messages->contains($message)) {
$this->messages[] = $message;
$message->setForumSujet($this);
}
return $this;
}
public function removeMessage(ForumMessage $message): self
{
if ($this->messages->removeElement($message)) {
// set the owning side to null (unless already changed)
if ($message->getForumSujet() === $this) {
$message->setForumSujet(null);
}
}
return $this;
}
public function getCategorie(): ?ForumCategorie
{
return $this->categorie;
}
public function setCategorie(?ForumCategorie $categorie): self
{
$this->categorie = $categorie;
return $this;
}
}