<?php
namespace App\Entity;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use App\Repository\NewsletterRepository;
/**
* class Message
*
* @ORM\Entity(repositoryClass="App\Repository\MessageRepository")
*
* @ORM\Entity
*/
class Message
{
const RESOURCE_KEY = 'messages';
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToMany(targetEntity="Newsletter", inversedBy="messages")
* @ORM\JoinTable(name="newsletter_content_messages",
* joinColumns={@ORM\JoinColumn(name="newsletter_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="message_id", referencedColumnName="id")}
* )
*/
private $newsletters;
/**
* @ORM\Column(type="string", length=400, nullable=true)
*/
private $subject;
/**
*@ORM\Column(type="text")
*/
private $text;
/**
* @ORM\Column(type="datetime")
*/
private $sendAt;
/**
* @return mixed
*/
public function __construct() {
$this->newsletters = new \Doctrine\Common\Collections\ArrayCollection();
}
public function getId()
{
return $this->id;
}
/**
* @return mixed
*/
public function getSubject()
{
return $this->subject;
}
/**
* @param mixed $subject
*/
public function setSubject($subject): void
{
$this->subject = $subject;
}
/**
* @return mixed
*/
public function getText()
{
return $this->text;
}
/**
* @param mixed $text
*/
public function setText($text): void
{
$this->text = $text;
}
/**
* @return mixed
*/
public function getSendAt()
{
return $this->sendAt;
}
/**
* @param mixed $sendAt
*/
public function setSendAt($sendAt): void
{
$this->sendAt = $sendAt;
}
/**
* @return Collection|Tag[]
*/
public function getNewsletters(): Collection
{
return $this->newsletters;
}
public function addNewsletter(Newsletter $newsletter): self
{
if (!$this->newsletters->contains($newsletter)) {
$this->newsletters[] = $newsletter;
}
return $this;
}
public function removeNewsletter(Newsletter $newsletter): self
{
if ($this->newsletters->contains($newsletter)) {
$this->newsletters->removeElement($newsletter);
}
return $this;
}
}