特定の 1 対多の関係のメンバー数でソートされた Doctrine データベースからオブジェクトを取得するためのクエリを作成しようとしています。
より具体的には、次の 2 つのエンティティがあります。Person と Federation です。人は 1 つのフェデレーションのメンバーになることができ (人は「フェデレーション」関係を持っています)、フェデレーションはn人を持つことができます (「人」関係としてのフェデレーション)。
フェデレーションのメンバーである人数順に並べられたフェデレーションのリストを返す DQL クエリを作成したいと思います。これらの行に沿ったもの:
SELECT f FROM AcmeStatsBundle:Federation f ORDER BY [number of members of f.people]
それが第一歩でしょう。追加の 2 番目のステップがありますが、1 つのクエリで達成できるかどうかはわかりません。これは、カウントの前にリレーションのメンバーをフィルター処理することになります。そのようです:
SELECT f FROM AcmeStatsBundle:Federation f ORDER BY [number of (f.people p where p.attr = value)]
その 2 番目は最適な結果ですが、2 番目のケースが単一のクエリで実行可能でない場合、最初のケースは私のニーズを満たします。
前もって感謝します。