*/ #[ORM\OneToMany(targetEntity: ReviewArea::class, mappedBy: 'review', cascade: ['persist'])] private Collection $areas; public function __construct() { $this->areas = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getProject(): ?Project { return $this->project; } public function setProject(?Project $project): static { $this->project = $project; return $this; } public function getReviewer(): ?User { return $this->reviewer; } public function isReviewedBy(UserInterface $user): bool { return $this->reviewer?->getUserIdentifier() === $user->getUserIdentifier(); } public function setReviewer(?User $reviewer): static { $this->reviewer = $reviewer; return $this; } public function getType(): ?ReviewType { return $this->type; } public function setType(ReviewType $type): static { $this->type = $type; return $this; } /** * @return Collection */ public function getAreas(): Collection { return $this->areas; } public function addArea(ReviewArea $area): static { if (!$this->areas->contains($area)) { $this->areas->add($area); $area->setReview($this); } return $this; } public function removeArea(ReviewArea $area): static { if ($this->areas->removeElement($area)) { // set the owning side to null (unless already changed) if ($area->getReview() === $this) { $area->setReview(null); } } return $this; } }