質問

2つのモデルがあり、HasおよびBelongs To Many結合テーブルで結合されています。これらのモデルをユーザーおよびイベントと呼びましょう。ほとんどのユーザーにはイベントがありませんが、1つ以上のイベントはほとんどありません。私は次のようなことをしたいです:

User.find(:all、:joins =>:events、:conditions => [" 「イベントをカウントする何か」 >? "]、0)

問題は、1つ以上のイベントが関連付けられているユーザーのみを選択する方法がわからないことです。

役に立ちましたか?

解決

答えが見つかりました:

User.find(:all, :joins => :events, :select => 'DISTINCT `users`.*')

基本的に、 users 。*は結果セットをusersテーブルのみに制限し、DISTINCTキーワードは各ユーザーが一度だけ返されるようにします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top