Symfony 2.6:收集形式

时间:2015-05-09 04:20:38

标签: symfony

我有一个包含实体的数组。我知道symfony有一个collection type,但我想要的并不是按预期工作的。我为单个实体创建了FormType,为集合创建了FormType(集合的formtype代码):

$builder
            ->add('list', 'collection', array(
                'label' => 'list',
                'type' => new SingleItemType(),
                'allow_add' => true,
                'allow_delete' => true,
                'by_reference' => false
            ));

现在我尝试创建一个表单

$arr = array(new Item(), new Item(), new Item());
$this->createForm(new CollectionListType(), $arr);

但这不起作用;我得到一个错误,这意味着我应该将“Item”设置为data_class,如果我这样做,则会出现另一个错误,这意味着我应该将data_class设置为null。

另一种方法是创建一个虚拟实体来保存我的Item-Entities数组,但这也不行。

是否有一种简单的方法可以将实体列表显示为集合表单?

问候

1 个答案:

答案 0 :(得分:0)

我不确定完全理解您的问题,但我认为您必须首先使用getList()/ setList()创建一个实体。在您的收藏字段中,您可以添加新的"默认"实体将值传递给"数据"选项数组中的键。