Symfony2:具有相关学说数据的处理形式

问题描述

|| 我正在S2中构建简单的CMS,并且以Article形式处理关系Category也没有什么麻烦。 CategoryType和操作的代码:http://codepaste.net/ahyoig,都类似于Symfony网站上的教程/手册中的内容。 表单看起来不错,但是当我处理数据时(也像手册中一样),我得到了错误:“在选择字段中有“”类型数组的预期参数,给定字符串“ \”,我现在不知道如何解决。     

解决方法

我认为您的问题是因为您将选项“ 0”设置为“ 1”。这意味着表单类型将返回一个字符串值(因为您将
multiple
设置为
false
是一个单一值),但是您的关系可能设置为多对多关系。 将“ 0”选项设置为“ 5”将向您的对象发送一个数组而不是字符串,这是应用程序所期望的。然后,如果您不喜欢HTML中CategoryType的列表框外观,则可以使用Symfony2中的表单主题以不同的方式呈现它。 希望这可以帮助, 马特     ,您不需要CategoryType。 $ categories数组的创建也没有用。 最好的选择是使用本机实体表单类型:
<?php

use Doctrine\\ORM\\EntityRepository;

//...

$article = new Article();

$form = $this->get(\'form.factory\')
            ->createBuilder(\'form\',$article)
            ->add(\'category\',\'entity\',array
            (
                \'class\' => \'CMSBackBundle:Category\',\'query_builder\' => function(EntityRepository $er)
                {
                    return $er->createQueryBuilder(\'c\')
                            ->orderBy(\'c.title\',\'ASC\');
                },\'expanded\' => false,\'multiple\' => false
            )
            // ...
            ->getForm();
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...