我正在尝试在Symfony 3中构建一个复选框列表。 这段代码:
$choices = [
'a' => 'fsssssss',
];
$builder->add('memberships', ChoiceType::class, [
'choices' => $choices,
'expanded' => true,
'multiple' => false
]);
返回以下错误:可捕获的致命错误:类/ Docmine \ ORM \ PersistentCollection的对象无法转换为vendor / symfony / symfony / src / Symfony / Component / Form / ChoiceList /中的字符串 ArrayChoiceList.php(第73行)
如果我再添加两个选项,则错误消失并且字段显示正确:
$choices = [
'a' => 'fsssssss',
'd' => 'fsssssss',
'g' => 'fsssssss',
];
$builder->add('memberships', ChoiceType::class, [
'choices' => $choices,
'expanded' => true,
'multiple' => false
]);
实际上,有许多组合可行,许多组合不起作用;我没有看到任何模式。
我做错了吗?我需要清除某种缓存吗?
答案 0 :(得分:0)
关闭此问题:
如果您使用带有data_class
选项的表单,并且表单字段表示应该通过选择选择的实体的属性,则可以使用EntityType
:
$builder->add('memberships', EntityType::class, [
'class' => MyClass::class,
'choices' => $choices,
'expanded' => true,
'multiple' => false
]);