ユーザーとロールのテーブルがあります。私は 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 つ持つすべてのユーザーを返すことです。
このステートメントを結合ではなく交差点にするにはどうすればよいですか?