1

シナリオ

Symfony2について話します。私は彼のセッターとゲッターを持つエンティティを持っています。このセッターの1つは少し特殊です。これは、関連するオブジェクトを取得し、何かを実行して、関係を書き戻す必要があるためです。
これらのオブジェクトを取得するために頭に浮かんだのは、エンティティに関連するエンティティマネージャーとリポジトリを使用することです。

問題

エンティティから直接エンティティマネージャにアクセスすることはできません。考えられる解決策の1つは、EMをこのエンティティに注入することですが、私が知る限り、依存性注入はエンティティには推奨されません。

考えられる解決策

サービスを作成し、EMに注入し、サービスをエンティティに使用します。
これに注意してください:バンドル(SonataAdmin)がそれを行う責任があるため、他の場所でエンティティをインスタンス化することはできません。

これはそれを行うための良い方法ですか、それともより良い方法がありますか?

4

1 に答える 1

1

エンティティ 1 を使用しているとします。エンティティ 2 を取得する必要があります。

エンティティ 1 をパラメーターとして取得する関数を使用して、サービスを作成します。このサービスに EM を渡し、エンティティ 2 を取得します。

エンティティ ファイルはそのようなものではなく、サービスがお手伝いします。

于 2012-09-11T14:12:37.707 に答える