Извлечь все строки, в которых column_id находится в массиве id, затем упорядочить по id - PullRequest
1 голос
/ 12 апреля 2011

Я пытаюсь это сделать, но не уверен, что делаю это правильно:

User.where("region_id => ?", region_ids).order("id ASC")

region_ids = [1234,234322,234324,2343,....]

Кроме того, будет ли это работать, если region_ids пуст (не нулевой, но пустой)

IЯ вижу ошибку:

check the manual that corresponds to your MySQL server version for the right syntax to use near '=> NULL) ORDER BY id ASC' at line 1:

Когда я был в режиме отладчика, я выводил region_ids, и это было [].

Ответы [ 2 ]

2 голосов
/ 12 апреля 2011

Вы смешиваете синтаксис Ruby и SQL внутри строки.То, что вы хотите, больше похоже на ("region_id in (?)", region_ids) или ({ "region_id" => region_ids }).

0 голосов
/ 12 апреля 2011

Вам необходимо изменить порядок двух строк, region_ids должен быть установлен до User.where, потому что то, как сейчас, region_ids равно NULL, когда вы вызываете where ().

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