src/Entity/AgendaDay.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Traits\Timestampable;
  4. use App\Repository\AgendaDayRepository;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. use Doctrine\ORM\Mapping as ORM;
  8. #[ORM\HasLifecycleCallbacks]
  9. #[ORM\Entity(repositoryClassAgendaDayRepository::class)]
  10. class AgendaDay
  11. {
  12.     use Timestampable;
  13.     #[ORM\Id]
  14.     #[ORM\GeneratedValue]
  15.     #[ORM\Column]
  16.     #[Groups(['getAgenda'])]
  17.     private ?int $id null;
  18.     #[ORM\Column(length255)]
  19.     #[Groups(['getAgenda'])]
  20.     private ?string $name null;
  21.     #[ORM\ManyToOne(inversedBy'agendaDays'cascade: ["persist"])]
  22.     #[ORM\JoinColumn(nullablefalse)]
  23.     private ?Agenda $agenda null;
  24.     #[ORM\OneToMany(mappedBy'agendaDay'targetEntityAgendaElement::class, cascade: ['remove''persist'], orphanRemovaltrue)]
  25.     #[Groups(['getAgenda'])]
  26.     private Collection $elements;
  27.     #[ORM\ManyToOne(inversedBy'agendaDays'cascade: ["persist"])]
  28.     #[ORM\JoinColumn(nullablefalse)]
  29.     private ?User $author null;
  30.     public function __construct()
  31.     {
  32.         $this->elements = new ArrayCollection();
  33.     }
  34.     public function getId(): ?int
  35.     {
  36.         return $this->id;
  37.     }
  38.     public function getName(): ?string
  39.     {
  40.         return $this->name;
  41.     }
  42.     public function setName(string $name): static
  43.     {
  44.         $this->name $name;
  45.         return $this;
  46.     }
  47.     public function getAgenda(): ?Agenda
  48.     {
  49.         return $this->agenda;
  50.     }
  51.     public function setAgenda(?Agenda $agenda): static
  52.     {
  53.         $this->agenda $agenda;
  54.         return $this;
  55.     }
  56.     /**
  57.      * @return Collection<int, AgendaElement>
  58.      */
  59.     public function getElements(): Collection
  60.     {
  61.         return $this->elements;
  62.     }
  63.     public function addElement(AgendaElement $element): static
  64.     {
  65.         if (!$this->elements->contains($element)) {
  66.             $this->elements->add($element);
  67.             $element->setAgendaDay($this);
  68.         }
  69.         return $this;
  70.     }
  71.     public function removeElement(AgendaElement $element): static
  72.     {
  73.         if ($this->elements->removeElement($element)) {
  74.             // set the owning side to null (unless already changed)
  75.             if ($element->getAgendaDay() === $this) {
  76.                 $element->setAgendaDay(null);
  77.             }
  78.         }
  79.         return $this;
  80.     }
  81.     public function getAuthor(): ?User
  82.     {
  83.         return $this->author;
  84.     }
  85.     public function setAuthor(?User $author): static
  86.     {
  87.         $this->author $author;
  88.         return $this;
  89.     }
  90. }