<?phpnamespace App\Entity;use App\Entity\User;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;use App\Repository\ClubRepository;#[ORM\Entity(repositoryClass: ClubRepository::class)]class Club extends User{ #[ORM\OneToOne(targetEntity: ClubInfo::class, mappedBy: 'owner', cascade: ['persist', 'remove'])] private $clubInfo; #[ORM\OneToMany(targetEntity: CoachInfo::class, mappedBy: 'createdByClub')] private Collection $createdCoachInfos; #[ORM\OneToMany(targetEntity: Availability::class, mappedBy: 'club')] private $availabilities; #[ORM\OneToMany(targetEntity: Partnership::class, mappedBy: 'club')] private $partnerships; public function __construct() { parent::__construct(); $this->createdCoachInfos = new ArrayCollection(); $this->availabilities = new ArrayCollection(); $this->partnerships = new ArrayCollection(); } public function getClubInfo(): ?ClubInfo { return $this->clubInfo; } public function setClubInfo(?ClubInfo $clubInfo): self { $this->clubInfo = $clubInfo; return $this; } public function getCreatedCoachInfos(): Collection { return $this->createdCoachInfos; } public function addCreatedCoachInfo(CoachInfo $coachInfo): self { if (!$this->createdCoachInfos->contains($coachInfo)) { $this->createdCoachInfos[] = $coachInfo; $coachInfo->setCreatedByClub($this); } return $this; } public function removeCreatedCoachInfo(CoachInfo $coachInfo): self { if ($this->createdCoachInfos->removeElement($coachInfo)) { if ($coachInfo->getCreatedByClub() === $this) { $coachInfo->setCreatedByClub(null); } } return $this; } /** * @return Collection|Availability[] */ public function getAvailabilities(): Collection { return $this->availabilities; } public function addAvailability(Availability $availability): self { if (!$this->availabilities->contains($availability)) { $this->availabilities[] = $availability; $availability->setClub($this); } return $this; } public function removeAvailability(Availability $availability): self { if ($this->availabilities->removeElement($availability)) { // set the owning side to null (unless already changed) if ($availability->getClub() === $this) { $availability->setClub(null); } } return $this; } /** * @return Collection|Partnership[] */ public function getPartnerships(): Collection { return $this->partnerships; } public function addPartnership(Partnership $partnership): self { if (!$this->partnerships->contains($partnership)) { $this->partnerships[] = $partnership; $partnership->setClub($this); } return $this; } public function removePartnership(Partnership $partnership): self { if ($this->partnerships->removeElement($partnership)) { // set the owning side to null (unless already changed) if ($partnership->getClub() === $this) { $partnership->setClub(null); } } return $this; }}