0])] public int $ordering = 0; #[ORM\JoinColumn(nullable: false)] #[ORM\ManyToOne(inversedBy: 'answers')] public Question $question; /** @var Collection */ #[ORM\ManyToMany(targetEntity: Candidate::class, inversedBy: 'answersOnCandidate')] public private(set) Collection $candidates; /** @var Collection */ #[ORM\OneToMany(targetEntity: GivenAnswer::class, mappedBy: 'answer', orphanRemoval: true)] public private(set) Collection $givenAnswers; public function __construct( #[ORM\Column(length: 255)] public string $text, #[ORM\Column] public bool $isRightAnswer = false, ) { $this->candidates = new ArrayCollection(); $this->givenAnswers = new ArrayCollection(); } public function addCandidate(Candidate $candidate): void { if (!$this->candidates->contains($candidate)) { $this->candidates->add($candidate); } } public function removeCandidate(Candidate $candidate): void { $this->candidates->removeElement($candidate); } }