我正在使用prePersist
LifeCycleEvent来更新实体,更新此实体会在对象重复保存到数据库时创建一个循环。
public function doSomething(LifecycleEventArgs $event)
{
// Stuff here
$em = $event->getEntityManager();
$em->persist($entity);
$em->flush();
}
如何在不导致递归循环的情况下让Entity自行更新?
答案 0 :(得分:2)
由于在实际安排实体插入工作单元之前触发prePersist事件,您只需在此处更改实体状态,而无需手动调用persist / flush。
只需在回调中执行您的操作,而不必担心实体管理器。