我在一个专门的Bundle中制作了一个Survey系统。 我有3个实体问题/答案/调查
SurveyType基于2个CollectionType :一个包含问题,另一个包含答案。
SurveyType:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add(
'question',
CollectionType::class,
array(
'entry_type' => QuestionType::class)
)
->add(
'answer',
CollectionType::class,
array(
'entry_type' => AnswerType::class,
)
);
如果我只需要文字或数字作为答案,那么到目前为止一切正常。
问题是我需要不同"答案输入类型" :复选框,范围,文本...每个问题。
"答案字段类型"我需要的是存储在DB表格中。
在控制器中生成我的表单时,我只能有一种输入类型。
$form = $this->createForm(SurveyType::class, $survey, array(
'question_type' => 'range'
));
例如,我的所有答案都只能是范围或文字。我无法混合答案输入类型 Only Range
有没有办法说:"对于问题(1)我希望我的答案是一个字符串但问题(2)我想要一个范围"它们都是同一个SurveyForm的一部分吗?