У меня есть таблица для пользователей и ролей. Я использую много отношений. Я пытаюсь создать запрос, который найдет пользователей, которые имеют все роли в массиве.И несколько операторов JOIN в Rails
ex.
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.
Как мне сделать это заявление, дать мне пересечение, а не союз?