src/Flexy/Apps/NewsletterBundle/Entity/NewsletterCompaign.php line 15

  1. <?php
  2. namespace App\Flexy\Apps\NewsletterBundle\Entity;
  3. use ApiPlatform\Metadata\ApiResource;
  4. use App\Flexy\FrontBundle\Entity\Page;
  5. use App\Repository\Flexy\Apps\NewsletterBundle\Entity\NewsletterCompaignRepository;
  6. use Doctrine\Common\Collections\ArrayCollection;
  7. use Doctrine\Common\Collections\Collection;
  8. use Doctrine\DBAL\Types\Types;
  9. use Doctrine\ORM\Mapping as ORM;
  10. #[ORM\Entity(repositoryClassNewsletterCompaignRepository::class)]
  11. #[ApiResource]
  12. class NewsletterCompaign
  13. {
  14.     #[ORM\Id]
  15.     #[ORM\GeneratedValue]
  16.     #[ORM\Column]
  17.     private ?int $id null;
  18.     #[ORM\Column(length255)]
  19.     private ?string $name null;
  20.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  21.     private ?string $description null;
  22.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  23.     private ?\DateTimeInterface $createdAt null;
  24.     #[ORM\Column(length255)]
  25.     private ?string $entity null;
  26.     #[ORM\ManyToOne]
  27.     #[ORM\JoinColumn(nullablefalse)]
  28.     private ?Page $mailPage null;
  29.     #[ORM\OneToMany(mappedBy'newsletterCompaign'targetEntityNewsletterCompaignLaunch::class, orphanRemovaltrue)]
  30.     private Collection $newsletterCompaignLaunches;
  31.     public function __construct()
  32.     {
  33.         $this->createdAt = new \DateTime();
  34.         $this->newsletterCompaignLaunches = new ArrayCollection();
  35.     }
  36.     public function __toString()
  37.     {
  38.         return $this->name;
  39.     }
  40.     public function getId(): ?int
  41.     {
  42.         return $this->id;
  43.     }
  44.     public function getName(): ?string
  45.     {
  46.         return $this->name;
  47.     }
  48.     public function setName(string $name): static
  49.     {
  50.         $this->name $name;
  51.         return $this;
  52.     }
  53.     public function getDescription(): ?string
  54.     {
  55.         return $this->description;
  56.     }
  57.     public function setDescription(?string $description): static
  58.     {
  59.         $this->description $description;
  60.         return $this;
  61.     }
  62.     public function getCreatedAt(): ?\DateTimeInterface
  63.     {
  64.         return $this->createdAt;
  65.     }
  66.     public function setCreatedAt(?\DateTimeInterface $createdAt): static
  67.     {
  68.         $this->createdAt $createdAt;
  69.         return $this;
  70.     }
  71.     public function getEntity(): ?string
  72.     {
  73.         return $this->entity;
  74.     }
  75.     public function setEntity(string $entity): static
  76.     {
  77.         $this->entity $entity;
  78.         return $this;
  79.     }
  80.     public function getMailPage(): ?Page
  81.     {
  82.         return $this->mailPage;
  83.     }
  84.     public function setMailPage(?Page $mailPage): static
  85.     {
  86.         $this->mailPage $mailPage;
  87.         return $this;
  88.     }
  89.     /**
  90.      * @return Collection<int, NewsletterCompaignLaunch>
  91.      */
  92.     public function getNewsletterCompaignLaunches(): Collection
  93.     {
  94.         return $this->newsletterCompaignLaunches;
  95.     }
  96.     public function addNewsletterCompaignLaunch(NewsletterCompaignLaunch $newsletterCompaignLaunch): static
  97.     {
  98.         if (!$this->newsletterCompaignLaunches->contains($newsletterCompaignLaunch)) {
  99.             $this->newsletterCompaignLaunches->add($newsletterCompaignLaunch);
  100.             $newsletterCompaignLaunch->setNewsletterCompaign($this);
  101.         }
  102.         return $this;
  103.     }
  104.     public function removeNewsletterCompaignLaunch(NewsletterCompaignLaunch $newsletterCompaignLaunch): static
  105.     {
  106.         if ($this->newsletterCompaignLaunches->removeElement($newsletterCompaignLaunch)) {
  107.             // set the owning side to null (unless already changed)
  108.             if ($newsletterCompaignLaunch->getNewsletterCompaign() === $this) {
  109.                 $newsletterCompaignLaunch->setNewsletterCompaign(null);
  110.             }
  111.         }
  112.         return $this;
  113.     }
  114. }