найти где с помощью оператора IN в rails3 - PullRequest
4 голосов
/ 26 мая 2011

Я пытаюсь запустить sql, как показано ниже

select name from appointments where location_id in (2,3,4)

следующее не работает.Я использую PostgreSQL

a = [2,3,4]
Appointment.select(:name).where("location_id IN ?", a)

ActiveRecord::StatementInvalid: PGError: ERROR:  syntax error at or near "2"
LINE 1: ... FROM       "appointments"  WHERE     (location_id IN 2,3,4)
                                                                 ^
: SELECT     name FROM       "appointments"  WHERE     (location_id IN 2,3,4)

Ответы [ 2 ]

5 голосов
/ 26 мая 2011

Вы можете использовать это:

Appointment.select(:name).where(:location_id => [2,3,4])

Надеюсь, это поможет

3 голосов
/ 26 мая 2011

Я не знаю рельсы, но мне кажется, что вам нужно сделать это:

Appointment.select(:name).where("location_id IN (?)", a)

, т.е. заключите скобки вокруг ?.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...