2

ユーザーにコメントがあり、すべてのユーザーに 3 つ以上のコメントがあるとします。

User.joins(:comments)1 つ以上のコメントを持つすべてのユーザーを取得します。少なくとも 3 つのコメントを持つユーザーを獲得する最も良い方法は何ですか?

4

2 に答える 2

3

API を使用してそのサブクエリを作成する方がよい場合があります。

subquery = Comment.select("user_id").
                   group(:user_id).
                   having("COUNT(*) >= 3").to_sql
User.where("id IN (#{subquery})")
于 2013-06-27T16:30:00.433 に答える