Как указать несколько значений в where с интерфейсом запроса AR в rails3

Для получения этой работы, я должен был установить utouch:

apt-get install utouch

для получения дополнительной информации, читайте:

27
задан wkhatch 17 February 2011 в 22:15
поделиться

2 ответа

Это на самом деле довольно просто:

Model.where(attribute: [value1,value2])
38
ответ дан 28 November 2019 в 04:07
поделиться

Похоже, вы делаете что-то вроде этого:

Model.where("attribute = ? OR attribute2 = ?", [value, value])

В то время как вам нужно сделать это:

#notice the lack of an array as the last argument
Model.where("attribute = ? OR attribute2 = ?", value, value) Have a

посмотреть на http: // guides.rubyonrails.org/active_record_querying.html#array-conditions для более подробной информации о том, как это работает.

Был действительно близко. Вы можете превратить массив в список аргументов с помощью * my_list.

Model.where("id = ? OR id = ?", *["1", "2"])

ИЛИ

params = ["1", "2"]
Model.where("id = ? OR id = ?", *params)

Должно работать

12
ответ дан 28 November 2019 в 04:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: