无法在 rails 2 应用程序中使用 created_at 提取模型数据
Unable to extract Model Data Using created_at in rails 2 application
@versions = Version.find_all_by_created_at(2015-05-07)
@versions = []
created_at(日期时间)
的数据类型
我想通过仅将日期传递给模型来提取数据。
创建时间是一个日期时间,因此它会非常具体。您需要在当天搜索
date = Date.parse('2015-05-07')
Version.where(created_at: date..date.end_of_day)
试试这个
date = Date.parse('2015-05-07')
然后
Version.where("created_at <= ? AND created_at >= ?", date + 1, date - 1)
我觉得很简单
如果你想在当前日期做,那么你可以使用 Date.today
Version.where(created_at: Date.today.beginning_of_day..Date.today.end_of_day)
否则正如@davidesantangelo 提到的那样没问题,除了使用已解析的 "date" 变量,您可以使用 "date.beginning_of_day"
例如
selectDate = Date.parse('2015-05-07')
Version.where(created_at: selectDate.beginning_of_day..selectDate.end_of_day)
这将形成这样的查询:
SELECT "versions".* FROM "versions"
WHERE ("versions"."created_at"
BETWEEN '2015-04-28 00:00:00.000000' AND '2015-04-28 23:59:59.999999')
没有 "beginning_of_day" 它将有类似
的查询
SELECT "users".* FROM "users"
WHERE ("users"."created_at"
BETWEEN '2015-04-28' AND '2015-04-28 23:59:59.999999')
所以我更喜欢 beginning_of_day。
@versions = Version.find_all_by_created_at(2015-05-07)
@versions = []
created_at(日期时间)
的数据类型我想通过仅将日期传递给模型来提取数据。
创建时间是一个日期时间,因此它会非常具体。您需要在当天搜索
date = Date.parse('2015-05-07')
Version.where(created_at: date..date.end_of_day)
试试这个
date = Date.parse('2015-05-07')
然后
Version.where("created_at <= ? AND created_at >= ?", date + 1, date - 1)
我觉得很简单 如果你想在当前日期做,那么你可以使用 Date.today
Version.where(created_at: Date.today.beginning_of_day..Date.today.end_of_day)
否则正如@davidesantangelo 提到的那样没问题,除了使用已解析的 "date" 变量,您可以使用 "date.beginning_of_day" 例如
selectDate = Date.parse('2015-05-07')
Version.where(created_at: selectDate.beginning_of_day..selectDate.end_of_day)
这将形成这样的查询:
SELECT "versions".* FROM "versions"
WHERE ("versions"."created_at"
BETWEEN '2015-04-28 00:00:00.000000' AND '2015-04-28 23:59:59.999999')
没有 "beginning_of_day" 它将有类似
的查询SELECT "users".* FROM "users"
WHERE ("users"."created_at"
BETWEEN '2015-04-28' AND '2015-04-28 23:59:59.999999')
所以我更喜欢 beginning_of_day。