2011-01-30 6 views
0

Railsの注文部品の中でモデルアソシエーションを使用する方法はありますか?たとえば、私は次のシナリオを持っています:モデルアソシエーションを使用して:レールでの検索を注文する

私はユーザーのベストリストのカウント値でユーザーを注文する検索を実行したいと思います。私は、これは完全に動作しません知っているが、多分それは全体で私の目標を得るのを助ける:

User.find_all_by_id_and_profile(user_ids, true, :order => "user.lists.find_by_best(true).count") 

私が使用してについて読んだ:含まれるが、私はそれがここに適用するかどうかはわかりません。

+1

あなたが –

+0

こんにちはトビー「最高のtrueに設定されたリストのカウント値」によって何を意味するのか明確にしてくださいすることができ、私は完全にミス私は彼らの最高の数でユーザーを注文したい、ということ型付けリスト。 – TenJack

+0

これはあなたにヒントを与えるかもしれません:http://stackoverflow.com/questions/1760404/order-products-by-association-count – polarblau

答えて

1

私が正しく理解している場合は、リストの最善の属性数からユーザーを注文しようとします。私はサブクエリを使わなければならないと思います。

User.where("users.id IN (?) AND profile=true", user_ids).order(
'(SELECT COUNT(*) FROM lists WHERE (best=true) AND (users.id=lists.user_id))') 
関連する問題