<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\NewsletterRepository")
* @ORM\Table(name="newsletters")
*/
class Newsletter
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $title;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $description;
/**
* @ORM\Column(type="integer")
*/
private $displayOrder;
/**
* @ORM\ManyToMany(targetEntity="App\Entity\User", mappedBy="subscriptions")
*/
private $subscribers;
public function __construct()
{
$this->subscribers = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getTitle(): ?string
{
return $this->title;
}
public function setTitle(string $title): self
{
$this->title = $title;
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): self
{
$this->description = $description;
return $this;
}
public function getDisplayOrder(): ?int
{
return $this->displayOrder;
}
public function setDisplayOrder(int $displayOrder): self
{
$this->displayOrder = $displayOrder;
return $this;
}
/**
* @return Collection|User[]
*/
public function getSubscribers(): Collection
{
return $this->subscribers;
}
public function addSubscriber(User $subscriber): self
{
if (!$this->subscribers->contains($subscriber)) {
$this->subscribers[] = $subscriber;
$subscriber->addSubscription($this);
}
return $this;
}
public function removeSubscriber(User $subscriber): self
{
if ($this->subscribers->contains($subscriber)) {
$this->subscribers->removeElement($subscriber);
$subscriber->removeSubscription($this);
}
return $this;
}
}