:私のコントローラで教義、複数のフラッシュをどのように処理するか()の順で、私は次のシナリオを持っている私のsymfonyの2のアプリケーションでは、
- 私がDBからretrivedすなわち、管理エンティティ(上のいくつかの編集を行いますか、エンティティマネージャに保持されます)
- コントローラ内(またはコンテナから取得した外部サービス内)に何か他のエンティティで編集を行うか、または いくつかの新しいエンティティをインスタンス化します。私はこれらの操作をフラッシュしたい (これらは2に記載されている)immediatly
- 何か他のエンティティを編集したい場合、(1)と(3)の変更をフラッシュしたい。さもなければ、私は(1)と(3)の変更をフラッシュしたくありません。
Doctrineでこれを行う方法はありますか?複数の作業単位を同時に管理するか、それとも類似した作業ですか?そうでなければ、私はこのhttp://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#update-queriesを見ていました。つまり、ポイント(2)で行われた各更新に対して1つのクエリがあり、ポイント(2)で挿入されたのはhttp://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/query-builder.html#sql-query-builderでしたが、より良いアプローチがあるかどうかは疑問でした。
「最良の」アプローチは、ormをまったく使用しないことです。 2つのエンティティマネージャの使用を検討することもできます。 $ em-> flush($ entity)を実行することもできます。しかし、もう一度、ormで「箱から」出ようとすると、いつでも問題に遭遇します。 – Cerad
@セラート私は2つのemを使ってみると思います。 Googleを検索してメソッドのドキュメント '$ em-> flush($ entity);を検索すると、プロよりも多くの問題があるようです。 – ste