*/ #[ORM\OneToMany(targetEntity: OrganizationHolidayRecur::class, mappedBy: 'event', cascade: ['persist'], orphanRemoval: true)] private Collection $eventRecur; #[ORM\ManyToOne(inversedBy: 'holidays')] #[ORM\JoinColumn(nullable: false)] private Organization $organization; /** @var Collection */ #[ORM\ManyToMany(targetEntity: Access::class, inversedBy: 'practicalCourses', cascade: [], orphanRemoval: false)] #[ORM\JoinTable(name: 'booking_organizer')] #[ORM\JoinColumn(name: 'booking_id')] protected Collection $organizer; /** @var Collection */ #[ORM\ManyToMany(targetEntity: Equipment::class, cascade: [], orphanRemoval: false)] #[ORM\JoinTable(name: 'booking_equipment')] #[ORM\JoinColumn(name: 'booking_id')] #[ORM\InverseJoinColumn(name: 'equipment_id')] protected Collection $equipments; /** @var Collection */ #[ORM\ManyToMany(targetEntity: Tagg::class, inversedBy: 'bookings', cascade: ['persist'], orphanRemoval: false)] #[ORM\JoinTable(name: 'tag_booking')] #[ORM\JoinColumn(name: 'booking_id')] #[ORM\InverseJoinColumn(name: 'tag_id')] protected Collection $tags; public function __construct() { $this->eventRecur = new ArrayCollection(); $this->organizer = new ArrayCollection(); $this->equipments = new ArrayCollection(); $this->tags = new ArrayCollection(); } /** * @return Collection */ public function getEventRecur(): Collection { return $this->eventRecur; } public function addEventRecur(OrganizationHolidayRecur $eventRecur): self { if (!$this->eventRecur->contains($eventRecur)) { $this->eventRecur[] = $eventRecur; $eventRecur->setEvent($this); } return $this; } public function removeEventRecur(OrganizationHolidayRecur $eventRecur): self { if ($this->eventRecur->removeElement($eventRecur)) { // set the owning side to null (unless already changed) if ($eventRecur->getEvent() === $this) { $eventRecur->setEvent(null); } } return $this; } public function getOrganization(): ?Organization { return $this->organization; } public function setOrganization(?Organization $organization): self { $this->organization = $organization; return $this; } function getOrganizer(): Collection { return $this->organizer; } function addOrganizer(Access $organizer): self { if (!$this->organizer->contains($organizer)) { $this->organizer[] = $organizer; $organizer->addPracticalCourse($this); } return $this; } function removeOrganizer(Access $organizer): self { if ($this->organizer->removeElement($organizer)) { $organizer->removePracticalCourse($this); } return $this; } function getEquipments(): Collection { return $this->equipments; } function addEquipment(Equipment $equipment): self { if (!$this->equipments->contains($equipment)) { $this->equipments[] = $equipment; // $equipment->addXXX($this); } return $this; } function removeEquipment(Equipment $equipment): self { if ($this->equipments->removeElement($equipment)) { // $equipment->removeXXXX($this); } return $this; } function getTags(): Collection { return $this->tags; } function addTag(Tagg $tag): self { if (!$this->tags->contains($tag)) { $this->tags[] = $tag; $tag->addBooking($this); } return $this; } function removeTag(Tagg $tag): self { if ($this->tags->removeElement($tag)) { $tag->removeBooking($this); } return $this; } }