Symfony / Doctrine:带有嵌入表单的最后一个onFlush事件

时间:2016-04-29 08:15:43

标签: php symfony doctrine-orm

在Symfony中,使用涉及多个Doctrine实体的嵌入式表单,我希望能够在表单提交后检测到最后一个onFlush事件(所以最后刷新的实体)。我的目标是此刻操纵一些文件。

有没有办法轻松实现这一目标?

2 个答案:

答案 0 :(得分:0)

如果您要为onFlush实施听众,请按照Symfony documentation for Doctrine listeners

但是,您的应用程序中的每个flush都会调用此侦听器,而不仅仅是针对您的特定表单!如果您只想在提交表单时执行操作,也许您应该查看Symfony Form Events

答案 1 :(得分:0)

您最好在两个事件上实现一个侦听器……至少这样,您就知道应用程序处于关闭状态,并且所有可能刷新的内容都已刷新。

    public static function getSubscribedEvents(): array
    {

        return [                       
            KernelEvents::RESPONSE => 'doLastFlush',
            ConsoleEvents::TERMINATE => 'doLastFlush',
        ];
    }