0

rails尝试将日期时间与and进行比较时出现错误postgresql

现在,我使用这个简单的模式创建了表:

def change
    create_table :events do |t|
      t.string     :name
      t.datetime   :start_time
    end
end

然后我尝试使用此范围获取将来的事件:

scope :active_events, ->(id) { includes(:event).where(:foursquare_id => id).where('events.start_time => now()::timestamp') }

在 postgresql 中翻译为:

SELECT COUNT(DISTINCT "venues"."id") 
FROM "venues" 
LEFT OUTER JOIN "events" ON "events"."venue_id" = "venues"."id" 
WHERE "venues"."foursquare_id" = '4ada1e5ff964a5209f1e21e3' 
  AND (events.start_time => now()::timestamp)

现在我出现了这个错误:

PG::UndefinedFunction: ERROR:  operator does not exist: timestamp without time zone => timestamp without time zone
LINE 1: ...'4ada1e5ff964a5209f1e21e3' AND (events.start_time => now()::...

我真的不确定是否理解这一点。通常它们具有相同的数据类型,我认为它们可以进行比较,但似乎并非如此。

我在这里想念什么?

4

1 回答 1

1

您要查找的运算符是>=,=>通常与hstore一起使用。

于 2013-08-04T21:01:00.040 回答