複数の親エンティティに関連してup/down票を実装する最適な方法を見つけようとしています。Doctrine 2投票エンティティを最適化する
現在、サブクラスで親関係を持つInheritanceType("SINGLE_TABLE")
を投票に使用しています。私はまた、fetch="EXTRA_LAZY"
を使用しています - 主に、親エンティティの観点から投票をカウントするときに、完全な投票エンティティをロードせずにcount()
を実行できます。
私の問題は、親関係ごとに別々のUpVoteおよびDownVoteエンティティクラスを実装するのではなく、代わりに投票ベースクラス内の値フィールドを使用することです。好ましくは、count()
と同様に、lazyloaded ArrayCollection上で$qb->expr()->sum()
を実行したいと考えています。このように、スカラーとして、エンティティマネージャを持たない親エンティティのみを使用して直接データベースからスカラーとして返すことができ、ビュースクリプトのE.Gを合計するために1つの投票エンティティをロードする必要がありません)
これはサポートされていますか? (または、私の望む効果を達成するにはどうすればいいですか?)
Doctrine 2を使用して投票する代わりのベストプラクティスの例があります。
* 編集は:固定LAZY - カウントしようとしたとき> EXTRA_LAZY
私の質問 –
には本当に便利なコメントがありますが、デフォルトの動作を使用するのではなく、DQLとリポジトリを使用することを検討しましたか? –
私の特定のケースでは、エンティティマネージャーを私のビューに注入する必要があります。これは本当に嫌いです –