如何知道在AfterFlush(scheduledForSynchronization)

时间:2015-11-22 16:21:50

标签: doctrine-orm event-handling

我希望在插入/更新/删除某些类型的实体后执行操作,但仅当更改在数据库中有效时才能执行,并且已提交。

  

onFlush

在收听onFlush事件时,我显然可以访问已安排的实体进行插入,更新和删除,如下所示:

$em->getUnitOfWork()->getScheduledEntityInsertions();
$em->getUnitOfWork()->getScheduledEntityUpdates();
$em->getUnitOfWork()->getScheduledEntityDeletions();

但这还为时尚早,因为交易尚未提交......

  

postFlush

当我收听postFlush事件时,我没有任何预定的插入插入因为它已经完成(所以它不再安排)并且我无法知道哪些对象满脸通红。

  

scheduledForSynchronization

在挖掘之后,我注意到有一个名为private的{​​{1}}属性,其中包含想要的信息。不幸的是,它是私人的。

我想知道为什么这个属性是私有的,或者为什么它不存在任何吸气剂(?)。

感谢您的时间。

0 个答案:

没有答案