在Doctrine ORM中给出以下简单实体,是否有一种简单的方法来创建Parent
对象,向其添加Children
,然后将父及其子节点一次性调用{{} 1}}和EntityManager#persist()
?
目前,我正在坚持EntityManager#flush()
,刷新实体管理器,然后将Parent
添加到每个Parent
,保留每个Child
,然后刷新实体管理器再次。否则,每个Child
将持久保存到数据库,但连接列为空。我在Child
上尝试了生命周期回调,但是在所有实体被持久化之后,而不是在父实体之后和子项被持久化之前调用Parent
。
postPersist()
答案 0 :(得分:0)
您不必手动保留孩子。这就是cascade={"persist"}
的用途。
在Parent
的{{1}}:
addChild()
现在你可以坚持并且只冲洗父母,它的孩子也会被保留。
答案 1 :(得分:0)
每次使用多个人或者个人关系时,请使用 php app / console doctrine:generate:entities 在控制台中,它将自动创建addChild和removeChild函数。这样你就不需要手动创建它们了