0

私は次のnamed_scopeを持っています。これはMySQLとsqliteで正常に動作しますが、Postgresでは爆弾です。

course.rb

named_scope :current, :conditions => ['start < ? AND end > ? ', Time.now, Time.now], :order => 'start ASC'

それから私はただ電話します:

Course.current

エラーが発生します:

PGError:ERROR:「end」またはその近くの構文エラーLINE 1:... WHERE(start <'2010-03-17 14:03:24.995746' AND end> '201 ... ^:SELECT count(*)AS count_all FROM "courses" WHERE(start <'2010-03-17 14:03:24.995746' AND end> '2010-03-17 14:03:24.995748')

私のgoogle-fuは私を失敗させているので、StackOverflowが失敗しないことを望んでいます。そのスコープをPostgresに適したものにする方法について何かアイデアはありますか?ありがとう、

ドリュー

4

1 に答える 1

1

ENDはキーワードです。別の名前を使用するか、二重引用符「end」の間に配置する必要があります。

列名を二重引用符で囲み、このコードをMySQLでも使用する場合は、正しいSQLモードを設定して、オブジェクト識別子として二重引用符を受け入れるようにMySQLに指示します。ANSI_QUOTES

于 2010-03-17T21:11:41.027 に答える