poll = new ArrayCollection(); $this->votes = new ArrayCollection(); $this->setDateTime( new \DateTime() ); if ( $optionalName ) { $this->setName( $optionalName ); } } public function setPoll( ?Poll $poll ): self { $this->poll = $poll; return $this; } public function getId(): ?int { return $this->id; } public function getName(): ?string { return $this->name; } public function setName( ?string $name ): self { $this->name = $name; return $this; } public function getDateTime(): ?\DateTimeInterface { return $this->dateTime; } public function setDateTime( ?\DateTimeInterface $dateTime ): self { $this->dateTime = $dateTime; return $this; } public function getPoll(): ?Poll { return $this->poll; } /** * @return Collection|Vote[] */ public function getVotes(): Collection { return $this->votes; } public function addVote( Vote $vote ): self { if ( ! $this->votes->contains( $vote ) ) { $this->votes[] = $vote; $vote->setChoice( $this ); } return $this; } public function removeVote( Vote $vote ): self { if ( $this->votes->contains( $vote ) ) { $this->votes->removeElement( $vote ); // set the owning side to null (unless already changed) if ( $vote->getChoice() === $this ) { $vote->setChoice( null ); } } return $this; } }