2016-04-29 13 views
1

Symfonyでは、いくつかのDoctrineエンティティを含む埋め込みフォームを使用して、フォーム提出後の最後のonFlushイベント(最後にフラッシュされたエンティティ)を検出できます。私の目標は、現時点でいくつかのファイルを操作することです。Symfony/Doctrine:埋め込みフォームを持つ最後のonFlushイベント

これを簡単に達成する方法はありますか?

答えて

0

onFlushのリスナーを実装する場合は、Symfony documentation for Doctrine listenersに従ってください。

ただし、このリスナーは、特定のフォームだけでなく、アプリケーション内のflushごとに呼び出されます。フォームが送信されたときにアクションを実行するだけの場合は、Symfony Form Eventsを参照する必要があります。

+0

ありがとうございますが、すでに私のアプリケーションにいくつかのDoctrineリスナーがあります。私が望むのは、(フォーム提出後にフラッシュされたすべてのエンティティの中で)フラッシュされた最後のエンティティを知ることです。だから私はフォームが提出されたとき(フォームイベント)を検出したくないが、すべてのフラッシングオペレーションの終了を検出したい。 – Cruz

+0

フラッシュエンティティの順序などはありません。エンティティはDoctrineのORMによって処理されず、永続化またはフラッシュされるため、「最後のエンティティがフラッシュされる」ということは意味をなさない。単一のアクションで 'flush'を何度も呼び出す場合を除きますか?このシナリオでも、私は、要求が終了する前にまだフラッシュがスケジュールされているかどうかを判断することはできないと考えています。私はonFlushイベントを使う以外の実装を検討すべきだと思います。 – Terenoth

+1

それは私が期待したものです。私は自分の問題を解決する別の方法を見つけなければならないことに同意します。再度、感謝します。 – Cruz

関連する問題