Я использую ruby on rails 4 и SQLite3. Я хотел бы запросить таблицу/модель, используя хэш комбинаций Column => Value. Учитывая хэш:Таблица запроса/фильтра с использованием хеша в рубине на рельсах
a = {"Size" => 1, "Type" => "Tall", "Material" => "Metal", "Option 1" => "Yes", "Option 2" => "No"}
и части стола:
PART SIZE TYPE MATERIAL OPTION 1 OPTION 2
A1234 1 Tall
A1233 2 Tall
A1232 3 Tall
A1231 4 Tall
A8787 Plastic
A8786-01 Metal Yes
A8786-02 Metal No
A8785 Liquid
A6543 Yes
Я хотел бы запрос, чтобы смотреть на каждую колонку, и вернуть все Parts
, которые содержат значение, заданное в хэш, а также любые экземпляры, содержащие ноль или пробел. Поэтому значение "Option 1" => "Yes"
должно содержать A8786-01, а также все остальные части в этом столбце, которые пусты. Или, другими словами, A8786-02 будет устранен.
Хэш, показанный выше, вернет детали ["A1234", "A8786-01"]
. Можно ли это сделать одним методом? Или строка областей? Я открыт для любого хорошего способа обойти это. Я думал, что это может включать цикл через хэш с помощью a.each, но я не уверен, как это будет работать.
На самом деле, я считаю, что «недостаток» - это именно то, что я хочу. Если вы думаете об электронной таблице Excel с фильтрами, я в основном хочу пройти через каждый столбец и выбрать одно значение атрибута, а также все пробелы, нули и пустые строки, поэтому я хотел бы, чтобы этот поиск возвращал как A1234, так и A1233, если только есть значение в РАЗМЕРЕ или ТИП, отличном от 1 и Tall. Я попробую и посмотрю, работает ли это! – sabrams
Есть ли что-нибудь еще, что я мог бы внести в свой ответ, чтобы решить вашу проблему @sabrams? – MrYoshiji
Я так не думаю. Я включу его в свой код сегодня днем и выберем ваш ответ, если нет серьезных проблем. Спасибо! – sabrams