我有一个嵌入式表单集合字段。父是反面,子(嵌入)是拥有的一面。我想动态地允许添加/删除孩子。添加作品,也删除(在orphanRemoval = true的帮助下)。当我把孩子的表格留空时,我得到:
An exception occurred while executing 'INSERT INTO child
(content, completed, parent_id, created_by) VALUES (?, ?, ?, ?)'
with params [null, 0, 30, 8]: Column 'content' cannot be null
内容字段是唯一呈现的字段。该字段不应该保留,因为'delete_empty'和'allow_delete'都在字段类型中设置。 任何想法为什么会这样?
编辑:
我从实体中删除了所有元数据,以确保它真的是空的。 Doctrine尝试插入(null,null,null,null)。
答案 0 :(得分:0)
我设法解决了这个问题。我在createForm方法中添加了空子。逻辑如下:
$parent = $em->getRepository('AppBundle:parent')->find($id);
$editForm->createEditForm($parent)
public function createEditForm(Parent $parent){
$child = new Child();
$parent->setChild($child);
$form = $this->createForm(...)
在创建表单之前,需要在编辑操作中添加子项(因此传递给表单创建的实体已经具有空实体)。