ActiveRecord: найти, где столбец нулевой или пустой массив - PullRequest
0 голосов
/ 08 июня 2018

У меня есть столбец массива в postgres, и я хочу найти все записи, где этот столбец имеет значение nil или [].Я могу найти один или другой в порядке, но попытка обоих не удалась.

Это то, что я пытался

Model.where(column: [nil, []])

Но я получаю ошибку

ActiveRecord::StatementInvalid (PG::InvalidTextRepresentation: ERROR:  malformed array literal: "{NULL,{}}")
DETAIL:  Unexpected "{" character.

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Это сработало для меня

Model.where('column IS NULL OR column = ?', '{}')
0 голосов
/ 08 июня 2018
Model.where("column = ? OR column = ?", nil, [])

Это выполнит SQL-запрос

SELECT "models".* FROM "models" WHERE (column = NULL OR column = NULL)

Но вам нужно сделать это только

Model.where("column = ?", nil)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...