Есть три класса:
1. Опрос. Содержит ArrayCollection с вопросами
2. Вопрос. Содержит ArrayCollection с ответами
3. Ответ. Содержит только текст ответа
Вопрос в том, как сделать форму для вывода опроса с вопросами и вариантами ответа так, чтобы каждый вопрос был ChoiceType | EntityType | формой с галочками, где вариантами были ответы?
И каким образом лучше хранить данные о результатах? На данный момент используется решение в лоб, когда с помощью отдельной сущности сохраняются id пользователя, id- выбранных вариантов ответа и время прохождения опроса.
class Quiz
{
/**
* @ORM\OneToMany(targetEntity="App\Entity\Polls\Question", mappedBy="quiz", cascade={"persist"})
*/
private $questions;
}
class Question
{
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Polls\Quiz", inversedBy="questions", cascade={"persist"})
*/
private $quiz;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Polls\Answer", mappedBy="question", cascade={"persist"})
*/
private $answers;
}
class Answer
{
/**
* @ORM\Column(type="text")
*/
private $text;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Polls\Question", inversedBy="answers", cascade={"persist"})
*/
private $question;
}