1

特定の時間に作成されたレコードをクエリするにはどうすればよいですか?各レコードのデータベースに時間列を追加する必要がありますか?Rubyはcreated_at.hourに適切な値を返しますが、次のようなクエリでは使用できません。

results = Record.where("created_at.hour = ?", the_hour) 
4

2 に答える 2

2

試す:

results = Record.where("hour(created_at) = ?", the_hour) 

hourMySQL関数を使用して、タイムスタンプから時間を抽出する必要があります。

于 2012-06-30T17:48:47.920 に答える
0

他の人のための将来の参照のためだけに。

hourタイムスタンプから時間を抽出する関数が使用できないSQLiteを使用している場合は、このソリューションを使用してください。

def find_record_by_created_at_hour(certain_hour)
  Record.all.select {|record| record.created_at.hour == certain_hour }
end
于 2012-06-30T18:04:51.227 に答える