在Symfony中,使用涉及多个Doctrine实体的嵌入式表单,我希望能够在表单提交后检测到最后一个onFlush事件(所以最后刷新的实体)。我的目标是此刻操纵一些文件。
有没有办法轻松实现这一目标?
答案 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',
];
}