1

主にカウントを保持するために使用されるエンティティにプロパティを作成しようとしています。例:

Brand
- id
- name
- numberOfProducts

numberOfProducts プロパティは、製品の数にすぎません。ただし、このカウントは、製品の見方によって異なります。たとえば、そのブランドのアクティブな製品の数と、そのブランドのすべての製品の数だけが必要な場合があります。

nHibernate にも似たようなものがあります。参照: NHibernate でマップされていない列をクエリする

これは可能ですか?または、私の問題を解決するより良い方法はありますか? もちろん、状況ごとに 2 つのカウント プロパティを追加してから、非正規化フィールドを追加することもできますが、これは多かれ少なかれ 1 回限りの使用の場合には大変な作業です。

すべてのブランドとカウント クエリをすべて 1 つの DQL ステートメントで取得するように作成することもできますが、これは、カウントされたフィールドをプロパティに手動でマップする必要があることを意味します。私は教義が私のためにそのマッピングを行うことができることを望んでいました.

4

1 に答える 1

0

ここでの最善の解決策は、追加の (管理されていないフィールド) をエンティティ プロパティに設定できるカスタム ハイドレーターを作成することだと思います。

http://docs.doctrine-project.org/projects/doctrine-orm/en/2.0.x/reference/dql-doctrine-query-language.html#custom-hydration-modes

于 2012-05-21T13:28:10.023 に答える