我有一个包含实体的数组。我知道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数组,但这也不行。
是否有一种简单的方法可以将实体列表显示为集合表单?
问候
答案 0 :(得分:0)
我不确定完全理解您的问题,但我认为您必须首先使用getList()/ setList()创建一个实体。在您的收藏字段中,您可以添加新的"默认"实体将值传递给"数据"选项数组中的键。