我正在尝试在Symfony表单中进行多选ChoiceType
。但是,我收到以下错误:
无法转换属性路径“[组织]”的值: 期待一个数组。
注意:如果我将组件的名称从organisations
更改为其他任何内容,则会正确呈现表单。
据我所知,organisations
是一个数组:
/**
* @var Organisation[]
* @ORM\ManyToMany(targetEntity="Booking\Entity\Organisation", inversedBy="users")
* @ORM\JoinTable(name="users_organisations")
*/
protected $organisations;
以下是表格:
$organisations = $doctrine->getRepository('Booking\Entity\Organisation')->findAll();
$builder
->add('organisations', ChoiceType::class, array(
'choices' => $organisations,
'choice_label' => function($organisation, $key, $index) {
return $organisation->getName();
},
'multiple' => true
))
我做错了什么?
答案 0 :(得分:2)
改为使用EntityType
。
$builder
->add('organisations', EntityType::class, array(
'choices' => $organisations,
'choice_label' => function($organisation, $key, $index) {
return $organisation->getName();
},
'multiple' => true
))
我发布这个只是因为人们(像我一样)通常不会阅读所有评论。优点转到Jakub。