Я пытаюсь написать какое-либо условие, чтобы вытащить объекты из базы данных:ошибка синтаксиса Postgresql или вблизи «(»
Page.where(published: true).where("`published_at` <= current_date()").where("`publication_end` IS NULL OR `publication_end` > current_date()")
Когда я введите его в консоли рельсы у меня есть следующая ошибка:
SELECT "pages".* FROM "pages" WHERE "pages"."published" = 't' AND (`published_at` <= current_date()) AND (`publication_end` IS NULL OR `publication_end` > current_date())
PG::SyntaxError: ERROR: syntax error at or near "("
LINE 1: ...blished" = 't' AND (`published_at` <= current_date()) AND (`...
^
: SELECT "pages".* FROM "pages" WHERE "pages"."published" = 't' AND (`published_at` <= current_date()) AND (`publication_end` IS NULL OR `publication_end` > current_date())
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "("
LINE 1: ...blished" = 't' AND (`published_at` <= current_date()) AND (`...
^
: SELECT "pages".* FROM "pages" WHERE "pages"."published" = 't' AND (`published_at` <= current_date()) AND (`publication_end` IS NULL OR `publication_end` > current_date())
I, м Использование Postgresql Пожалуйста, помогите
Вы просто попробуйте удалить '()' после 'current_date'? – siekfried
'current_date' не имеет завершающего«() », хотя« now() »делает. – bma
Я надеюсь, что эти обратные элементы являются частью синтаксиса ActiveRecord, а не тем, что отправлено Postgres. –