Symfony选择类型数组错误:无法转换属性路径的值:预期数组

Lar*_*una 5 php symfony

为什么我将此表单选项设置为多个时出错.这将直接来自Symfonys网站.我改变的只是变量名.

 $builder->add('genre', 'choice', array(
    'choices' => array(
        'x'   => 'x',
        'y' => 'y',
        'z'   => 'z',
    ),
    'multiple' => true,
));
Run Code Online (Sandbox Code Playgroud)

这是错误:

无法转换属性路径"genre"的值:预期数组.

这是我的变量的实体类:

 /**
 * @var string
 *
 * @ORM\Column(name="genre", type="text", nullable=true)
 */
private $genre;
Run Code Online (Sandbox Code Playgroud)

Fra*_*rzi 1

我可以确认 qooplmao 的评论解决了这个问题:

问题是您的实体字段$genre不是被定义为 anarray而是被定义为 a string

但是,当启用多个选择时,表单字段将提供array结果,而不是字符串。

所以你可以:

  • 映射genre为 anarray而不是 astring
  • multiple或通过设置为 false禁用多项选择

我这个具体问题我猜你想映射genrearray.