Nic*_*ice 3 symfony doctrine-orm
如果您看到我之前的问题,那么这与它有某种联系,但却是一个新问题。所以我有一个实体,并且有一个与之链接的侦听器。在我的 createAction 中,我创建了我的对象,然后将其持久刷新到我的数据库中。在我的监听器中,我设置了一个 postFlush 函数
public function postFlush(PostFlushEventArgs $args)
{
$em = $args->getEntityManager();
foreach ($em->getUnitOfWork()->getScheduledEntityDeletions() as $entity) {
if ($entity instanceof AvailabilityAlert) {
var_dump("TEST");
$this->api_service->addFlightsAction($entity);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在这个函数中试图做的是获取刚刚刷新的实体。我已经尝试了 getUnitsOfWork 的所有不同操作,例如 getScheduledEntityDeletions,但对于其中任何一个,我都无法进入 var_dump 发生的位置。
我将如何在这个 postFlush 函数中获取刷新的实体?
根据此处的 Doctrine2 文档:http://doctrine-orm.readthedocs.org/en/latest/reference/events.html您无法在PostFlush事件上调用刷新的实体。
但是,您可以拆分逻辑:使用OnFlush事件来获取这些实体,然后PostFlush在刷新成功时将其传递给 。
| 归档时间: |
|
| 查看次数: |
12947 次 |
| 最近记录: |