2

データベースに保存されている時間を現在の時間と比較するクエリを実行しようとしています。今日よりも大きい場合は、それらのレコードを表示します。

以下は、レコードを表示していない現在使用しているクエリです

@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)
4

1 に答える 1

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

文字列はSQLクエリで直接使用されるため、列名が正しく、明確であることを確認する必要があります(列もある別のテーブルに結合した場合は、次のteam_idことを行う必要がありますschedules.team_id = ? and ...) 。

于 2012-08-11T17:49:48.700 に答える