Doctrine ORM:持久化填充相关实体的连接列

时间:2014-09-10 07:36:39

标签: symfony orm doctrine-orm one-to-many

在Doctrine ORM中给出以下简单实体,是否有一种简单的方法来创建Parent对象,向其添加Children,然后将父及其子节点一次性调用{{} 1}}和EntityManager#persist()

目前,我正在坚持EntityManager#flush(),刷新实体管理器,然后将Parent添加到每个Parent,保留每个Child,然后刷新实体管理器再次。否则,每个Child将持久保存到数据库,但连接列为空。我在Child上尝试了生命周期回调,但是在所有实体被持久化之后,而不是在父实体之后和子项被持久化之前调用Parent

postPersist()

2 个答案:

答案 0 :(得分:0)

您不必手动保留孩子。这就是cascade={"persist"}的用途。

Parent的{​​{1}}:

中试试
addChild()

现在你可以坚持并且只冲洗父母,它的孩子也会被保留。

答案 1 :(得分:0)

每次使用多个人或者个人关系时,请使用     php app / console doctrine:generate:entities 在控制台中,它将自动创建addChild和removeChild函数。这样你就不需要手动创建它们了