Symfony 3 奇怪的 "choice" 错误
Symfony 3 weird "choice" error
我正在尝试在 Symfony 3 中构建一个复选框列表。
此代码:
$choices = [
'a' => 'fsssssss',
];
$builder->add('memberships', ChoiceType::class, [
'choices' => $choices,
'expanded' => true,
'multiple' => false
]);
Returns 出现以下错误:可捕获的致命错误:class Doctrine\ORM\PersistentCollection 的对象无法转换为 [=25 中的字符串 =].php(第 73 行)
如果我再添加两个选项,错误就会消失并且字段会正确显示:
$choices = [
'a' => 'fsssssss',
'd' => 'fsssssss',
'g' => 'fsssssss',
];
$builder->add('memberships', ChoiceType::class, [
'choices' => $choices,
'expanded' => true,
'multiple' => false
]);
实际上,有许多组合有效,也有许多组合无效;我没有看到任何模式。
我是不是做错了什么?我需要清除某种缓存吗?
只是为了结束这个问题:
如果您使用带有 data_class
选项的表单,并且表单域代表实体的 属性,您可以使用 EntityType
:
$builder->add('memberships', EntityType::class, [
'class' => MyClass::class,
'choices' => $choices,
'expanded' => true,
'multiple' => false
]);
我正在尝试在 Symfony 3 中构建一个复选框列表。 此代码:
$choices = [
'a' => 'fsssssss',
];
$builder->add('memberships', ChoiceType::class, [
'choices' => $choices,
'expanded' => true,
'multiple' => false
]);
Returns 出现以下错误:可捕获的致命错误:class Doctrine\ORM\PersistentCollection 的对象无法转换为 [=25 中的字符串 =].php(第 73 行)
如果我再添加两个选项,错误就会消失并且字段会正确显示:
$choices = [
'a' => 'fsssssss',
'd' => 'fsssssss',
'g' => 'fsssssss',
];
$builder->add('memberships', ChoiceType::class, [
'choices' => $choices,
'expanded' => true,
'multiple' => false
]);
实际上,有许多组合有效,也有许多组合无效;我没有看到任何模式。
我是不是做错了什么?我需要清除某种缓存吗?
只是为了结束这个问题:
如果您使用带有 data_class
选项的表单,并且表单域代表实体的 属性,您可以使用 EntityType
:
$builder->add('memberships', EntityType::class, [
'class' => MyClass::class,
'choices' => $choices,
'expanded' => true,
'multiple' => false
]);