В моей таблице Users
пользователь определяется уникальным множественным индексом пары account_id
и location_id
.
Когда я получил запрос на получение данных для конкретной пары аккаунт / местоположение, я могу легко получить данные для этой пары:
account_location_hash = { account_id: 2, location_id: 3 }
user = User.find_by(account_location_hash)
Однако, когда мне нужно найти нескольких пользователей, имеющих массив хешей (сотни пар), не существует простого способа получить нужные мне сущности, хотя у меня есть ожидаемый список индексов этих сущностей.
Я пытался использовать:
pairs_array = [{ account_id: 2, location_id: 3 },{ account_id: 1, location_id: 4 }]
user = User.where(pairs_array)
но это не работает.
Я могу найти более сложные решения, такие как создание запроса AND и OR, или создание временной таблицы пар, которые я получил, и присоединение к таблицам, но ни одно из них не кажется правильным.
Я упускаю более простой подход?