EducationalProjectPublic.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Entity\Booking;
  4. use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Doctrine\Common\Collections\Collection;
  8. #[Auditable]
  9. #[ORM\Entity]
  10. class EducationalProjectPublic
  11. {
  12. #[ORM\Id]
  13. #[ORM\Column]
  14. #[ORM\GeneratedValue]
  15. private ?int $id = null;
  16. #[ORM\OneToMany(mappedBy: 'public', targetEntity: EducationalProject::class, )]
  17. private Collection $educationalProjects;
  18. public function __construct()
  19. {
  20. $this->educationalProjects = new ArrayCollection();
  21. }
  22. public function getId(): ?int
  23. {
  24. return $this->id;
  25. }
  26. /**
  27. * @return Collection<int, EducationalProject>
  28. */
  29. public function getEducationalProjects(): Collection
  30. {
  31. return $this->educationalProjects;
  32. }
  33. public function addEducationalProject(EducationalProject $educationalProject): self
  34. {
  35. if (!$this->educationalProjects->contains($educationalProject)) {
  36. $this->educationalProjects[] = $educationalProject;
  37. $educationalProject->setPublic($this);
  38. }
  39. return $this;
  40. }
  41. public function removeEducationalProject(EducationalProject $educationalProject): self
  42. {
  43. if ($this->educationalProjects->removeElement($educationalProject)) {
  44. // set the owning side to null (unless already changed)
  45. if ($educationalProject->getPublic() === $this) {
  46. $educationalProject->setPublic(null);
  47. }
  48. }
  49. return $this;
  50. }
  51. }