特定の時間に作成されたレコードをクエリするにはどうすればよいですか?各レコードのデータベースに時間列を追加する必要がありますか?Rubyはcreated_at.hourに適切な値を返しますが、次のようなクエリでは使用できません。
results = Record.where("created_at.hour = ?", the_hour)
特定の時間に作成されたレコードをクエリするにはどうすればよいですか?各レコードのデータベースに時間列を追加する必要がありますか?Rubyはcreated_at.hourに適切な値を返しますが、次のようなクエリでは使用できません。
results = Record.where("created_at.hour = ?", the_hour)
試す:
results = Record.where("hour(created_at) = ?", the_hour)
hour
MySQL関数を使用して、タイムスタンプから時間を抽出する必要があります。
他の人のための将来の参照のためだけに。
hour
タイムスタンプから時間を抽出する関数が使用できないSQLiteを使用している場合は、このソリューションを使用してください。
def find_record_by_created_at_hour(certain_hour)
Record.all.select {|record| record.created_at.hour == certain_hour }
end