1

ユーザーとロールのテーブルがあります。私は has many through 関係を使用しています。配列内のすべてのロールを持つユーザーを検索するクエリを作成しようとしています。

元。

role_ids = [2, 4, 6]
User.filter(role_ids) would return all users that have roles with ids 2, 4, 6.

これは私がこれまでに持っているものです。

def self.filter(role_ids)
   results = User.joins(:roles).where(roles: {id: role_ids} )
end

このステートメントの問題は、role_ids のロールを少なくとも 1 つ持つすべてのユーザーを返すことです。

このステートメントを結合ではなく交差点にするにはどうすればよいですか?

4

1 に答える 1