选择字段symfony“注意:数组到字符串转换”

时间:2014-05-27 23:59:20

标签: symfony

尝试验证选择字段(多个复选框)我有这个问题:

"Notice: Array to string conversion "

我的验证文件如下所示:

Cgboard\AppBundle\Forms\UploadImageEntity:
  properties:
    image:
          ... 
    cgnetworks:
      - Choice:
          choices: [flickr, tumblr]  //<--- this is giving me problems!!!

我的表单实体类(我现在不打算将其保存到db):

class UploadImageEntity {
    public $image;
    public $cgnetworks;
} 

我的表格类:

class UploadImageForm extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('image', 'file')
            ->add('cgnetworks', 'choice', [
                    'choices'  => $this->getCgNetworks(),
                    'multiple' => TRUE,
                    'expanded' => TRUE
                ]
            );
    }

    public function getCgNetworks()
    {
        return [
        'tumblr' => 'Tumblr',
        'flickr' => 'Flickr'
        ];
    } 

} 

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

也许您需要在验证中指定多个

cgnetworks:
  - Choice:
      choices: [flickr, tumblr]  //<--- this is giving me problems!!!
      multiple: true

答案 1 :(得分:0)

检查您的实体字段getter。如果你有别的东西而不是

public function getValue(){
      return $this->value;
}

您可以出现此错误。

表单构建器使用get和set实体方法,这就是您需要返回允许值的原因。