В моем приложении Rails есть модель Product
с несколькими атрибутами, включая item_id
и batch
.Если я хочу получить один Product
, я могу использовать это:
Product.find_by(item_id: 'ITEM001', batch: `05-2019`)
Но у меня есть массив ['item_id', 'batch'], например:
[
['ITEM001', '05-2019']
['ITEM001', '04-2019']
['ITEM002', '04-2019']
]
Как получить все продукты, соответствующие парам атрибутов в массиве?
Модель продукта использует item_id
и batch
в качестве составного ключа.Сочетание этих двух атрибутов делает продукт уникальным.
Пример сценария
Предположим, мне нужны только следующие результаты из вышеупомянутых записей:
[
['ITEM001', '05-2019']
['ITEM002', '04-2019']
]
Я думал об этом:
Product.where(item_id: ['ITEM001', 'ITEM002'], batch: ['05-2019', '04-2019'])
путем сопоставления item_id
и batch
в отдельных массивах.Но это даст мне все три предмета, которые я упомянул сверху.