<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity]
class SatisfactionClientQuestion
{
#[ORM\Id, ORM\GeneratedValue, ORM\Column]
private ?int $id = null;
#[ORM\Column(type: 'text')]
private string $content;
#[ORM\Column]
private bool $isMandatoryFreeText = false;
#[ORM\ManyToOne(targetEntity: SatisfactionClientSurvey::class, inversedBy: 'questions')]
#[ORM\JoinColumn(nullable: false)]
private ?SatisfactionClientSurvey $survey = null;
#[ORM\OneToMany(mappedBy: 'question', targetEntity: SatisfactionClientAnswer::class, cascade: ['remove'])]
private Collection $answers;
public function __construct()
{
$this->answers = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getContent(): string
{
return $this->content;
}
public function setContent(string $content): SatisfactionClientQuestion
{
$this->content = $content;
return $this;
}
public function isMandatoryFreeText(): bool
{
return $this->isMandatoryFreeText;
}
public function setIsMandatoryFreeText(bool $isMandatoryFreeText): SatisfactionClientQuestion
{
$this->isMandatoryFreeText = $isMandatoryFreeText;
return $this;
}
public function getSurvey(): SatisfactionClientSurvey
{
return $this->survey;
}
public function setSurvey( SatisfactionClientSurvey $survey): SatisfactionClientQuestion
{
$this->survey = $survey;
return $this;
}
public function addAnswer(SatisfactionClientAnswer $answer): SatisfactionClientQuestion
{
$this->answers->add($answer);
return $this;
}
public function removeAnswer(SatisfactionClientAnswer $answer): SatisfactionClientQuestion
{
$this->answers->removeElement($answer);
return $this;
}
public function getAnswers(): Collection
{
return $this->answers;
}
public function setAnswers(Collection $answers): SatisfactionClientQuestion
{
$this->answers = $answers;
return $this;
}
}