Symfony2/Doctrine - postFlush

标签 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);
        }
    }
}

我在这个函数中试图做的是获取刚刚刷新的实体。我已经尝试了 getUnitsOfWork 的所有不同操作,例如getScheduledEntityDeletions,但对于它们中的任何一个,我都无法进入 var_dump 发生的位置。

我将如何在这个 postFlush 函数中获取刷新的实体?

最佳答案

根据此处的 Doctrine2 文档:http://doctrine-orm.readthedocs.org/en/latest/reference/events.html您不能在 PostFlush 事件中调用刷新的实体。

但是您可以拆分您的逻辑:使用 OnFlush 事件获取这些实体,然后在刷新成功时将其传递给 PostFlush

关于Symfony2/Doctrine - postFlush,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28589633/

相关文章:

php - 使用多个虚拟主机运行 Zend Framework 的 Apache 出现间歇性 500 错误

json - 使用关联序列化实体

css - href Assets 不起作用

php - Twig 不在 Symfony 3 中设置语言环境

symfony - Sonata Admin - 如何设置menu.label属性?

security - 实体提供程序 : No encoder has been configured for account

php - 使用默认值将 NULL 插入 NOT NULL 列

php - Symfony - 通过 ID 获取用户提供者

php - 如何从 Symfony2 中的 PUT 请求获取参数?

php - 选择标签更新另一个