多个ChoiceType,预期的数组

时间:2016-03-10 09:59:38

标签: php symfony doctrine symfony-forms

我正在尝试在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
    ))

我做错了什么?

1 个答案:

答案 0 :(得分:2)

改为使用EntityType

$builder
    ->add('organisations', EntityType::class, array(
        'choices' => $organisations,
        'choice_label' => function($organisation, $key, $index) {
            return $organisation->getName();
        },
        'multiple' => true
    ))

我发布这个只是因为人们(像我一样)通常不会阅读所有评论。优点转到Jakub。