2016-03-30 8 views
0

私はモデルがbelongsToManyのParentであるとしましょう。いくつかの親オブジェクトを照会し、それらをソートして、ほとんどの子を持つ親のインスタンスが最初に来るようにしたいと思います。ソートクエリを1対多の関係の子の数で並べ替えます

同様に、カウントされる子どもに他の条件を追加することは可能ですか?たとえば、年齢または3歳未満の女児の数で両親をソートする。

これを行うにはどのような方法が有効ですか?

答えて

1

親に子カウント前計算フィールドを追加することができますので、子オブジェクトに行く必要はありません。これにより、新しい子を追加するとき/子を追加するときにも非常に高速に震えます。親の値2番目の質問で

同じ親male_child_count & female_child_countに曳航フィールドを追加し、人生は、私は周りにそのアイデアを蹴っていた

+0

:-)より容易になります。それは共通の解決策ですか?その計算をどこに追加することをお勧めしますか?子オブジェクトのafterCreateフックとafterDeleteフックは適切でしょうか? – Erik

+0

はい速度が必要でないときには、rdbmsを最適化するのが一般的です。サイズは –

+0

Perfectです。それは安心です。あなたの答えに記載されている計算前のフィールドは何ですか?これは、親オブジェクトのbeforeSaveフックと同じですか? – Erik

関連する問題