2016-08-22 2 views
-1

私はプロジェクトでsymfonyとdoctrineを使用しています。 I には、データを操作してデータベースに保存するサービスがあります。 1つのアクションで2つ以上のサービス(たとえば、電子メールでクライアントに通知してこの電子メールを保存するためのサービスと値を計算および保存するサービス)を呼び出すと、複数のトランザクションが実行されます。キューイング:サービス内のデータを保存することは悪いことですか?私は、コントローラのエンティティのみを操作し、エンティティを保存するためにサービスを使用する必要がありますか?サービスのエンティティを保存する

答えて

1

いいえ、悪いことではありません。

エンティティマネージャをサービスに挿入し、サービス内で実行できます。

サービスが2回以上呼び出されないようにするには、サービスが複数回呼び出されている場合は、コントローラーで$em->flush();に電話する必要があります。

$em->flush($entity);でサービス内の1つのエンティティをフラッシュすることもできます。他の永続エンティティは、最終的なフラッシュのためにキューに残ります。

+0

なぜ投票が下りますか?何を追加できますか? – Alsatian

+1

私は知らない、あなたが言うことは真実だ、私は投票する:) – DOZ

+1

短い回答が嫌ないくつかのユーザー... – Alsatian

関連する問題