Как я могу написать это, используя `field in` рельсовым способом? - PullRequest
0 голосов
/ 17 января 2012

Я узнал, что использование field in (a1,a2,a3) сравнительно быстрее, чем использование оператора =.

SELECT *
FROM user
WHERE Greeting IN ('hello', 'hi', 'hey')

Как мне написать вышеуказанный запрос по рельсам?

1 Ответ

3 голосов
/ 17 января 2012

Вы бы сделали что-то вроде этого:

users = User.where('greeting in (?)', %w{hello hi hey})

Rails будет знать, что делать с массивом, %w{hello hi hey}, в качестве значения для заполнителя. Или, если у вас уже был массив строк:

h_words = [ 'hello', 'hi', 'hey' ]
users   = User.where('greeting in (?)', h_words)
# or even this
users   = User.where('greeting in (:words)', :words => h_words)

или, возможно, самый Railsy способ, например:

users = User.where(:greeting => %w{hello hi hey})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...