<?php
namespace AdminBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* Question
*/
#[ORM\Table(name: 'questions')]
#[ORM\Entity(repositoryClass: \AdminBundle\Repository\QuestionRepository::class)]
class Question
{
/**
* @var int
*/
#[ORM\Column(name: 'id', type: 'integer')]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'AUTO')]
private $id;
/**
* @var Booking
*/
#[ORM\JoinColumn(name: 'questionnaire_id', referencedColumnName: 'id')]
#[ORM\ManyToOne(targetEntity: \AdminBundle\Entity\Questionnaire::class, inversedBy: 'questions', cascade: ['persist', 'remove'])]
private $questionnaire;
/**
* @var string
*/
#[ORM\Column(name: 'name', type: 'string', length: 255)]
private $name;
#[ORM\OneToMany(targetEntity: \AdminBundle\Entity\Answer::class, mappedBy: 'question', cascade: ['all'], orphanRemoval: true)]
private $answers;
/**
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* @param string $name
*
* @return Question
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* @return Questionnaire
*/
public function getQuestionnaire()
{
return $this->questionnaire;
}
/**
* @param Questionnaire $questionnaire
*
* @return Question
*/
public function setQuestionnaire(Questionnaire $questionnaire = null)
{
$this->questionnaire = $questionnaire;
return $this;
}
/**
* @param Answer $answer
*
* @return Question
*/
public function addAnswer(Answer $answer)
{
$answer->setQuestion($this);
$this->answers->add($answer);
return $this;
}
/**
* @param Answer $answer
*
* @return Question
*/
public function removeAnswer(Answer $answer)
{
if (!$this->answers->contains($answer)) {
return;
}
$this->answers->removeElement($answer);
$answer->setQuestion(null);
return $this;
}
/**
* @return ArrayCollection
*/
public function getAnswers()
{
return $this->answers;
}
}