【问题标题】:PG::SyntaxError: ERROR: syntax error at or near "AS" Error Rails 4.1PG::SyntaxError:错误:“AS”错误Rails 4.1处或附近的语法错误
【发布时间】:2014-09-18 19:38:39
【问题描述】:

我刚刚将 rails 升级到 4.1 并收到此错误:

PG::SyntaxError: ERROR:  syntax error at or near "AS"
LINE 1: SELECT COUNT(count_column) FROM (SELECT  * AS count_column F...
                                               ^
: SELECT COUNT(count_column) FROM (SELECT  * AS count_column FROM (SELECT thread_id,     max(id) as id FROM "messages"  WHERE 1=0 AND (thread_id IS NOT NULL) GROUP BY thread_id) last JOIN messages ON messages.id = last.id LIMIT 5 OFFSET 0) subquery_for_count

方法如下:

- as_myself do
    %li#messages-open.icon-btn.email
      - message_count = inbox_messages.count.is_a?(Hash) ? inbox_messages.count.values.first : inbox_messages.count
      - if(message_count.present? && message_count > 0)
        %span= message_count

【问题讨论】:

  • SELECT * AS count_column 不是有效的 sql 语法。它应该类似于SELECT <column_name> AS count_column

标签: ruby-on-rails postgresql activerecord


【解决方案1】:

rails 4.1 中的新语法是 count(:all) 解决了我的问题。

【讨论】:

    猜你喜欢
    • 2019-01-20
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 2017-02-20
    • 1970-01-01
    • 2017-07-15
    • 2010-12-24
    相关资源
    最近更新 更多