activerecord比较时间

时间:2012-08-11 16:05:04

标签: ruby-on-rails activerecord datetime-comparison

我正在尝试进行一个查询,将数据库中存储的时间与当前时间进行比较,如果它比今天大,则显示这些记录。

下面是我正在使用的查询不显示任何记录

@schedules = Schedule.where(:team_id => current_user[:team_id], :event => '1', :time => ">= Time.now.zone")

如何对时间戳进行查询?这样就会显示这些记录吗?

还试过以下

@schedules = Schedule.find_all_by_team_id_and_event_and_time(current_user[:team_id],"1", :time)

1 个答案:

答案 0 :(得分:2)

@schedules = Schedule.where("team_id = ? and event = ? and time >= ?", [current_user[:team_id], "1", Time.zone.now])

该字符串直接在SQL查询中使用,因此您需要确保列名正确且明确(如果您加入另一个也具有team_id列的表,则需要做schedules.team_id = ? and ...