Ruby on rails 如何仅请求在最后一天内创建的DB记录?

Ruby on rails 如何仅请求在最后一天内创建的DB记录?,ruby-on-rails,Ruby On Rails,该表在和列中确实有默认的创建列和更新列。我用谷歌搜索了这个问题,但似乎无法解决。我想说一些类似于Review.where(创建时间>Time.now-24小时)之类的话。最简单/最聪明的方法是什么?以下内容将帮助您解决问题 轨道2 YourModelName.all :conditions => ["DATE(created_at) = DATE(?)", DateTime.now - 1] 轨道3 YourModelName.where("DATE(created_at) = DATE

该表在和列中确实有默认的
创建列和
更新列。我用谷歌搜索了这个问题,但似乎无法解决。我想说一些类似于
Review.where(创建时间>Time.now-24小时)
之类的话。最简单/最聪明的方法是什么?

以下内容将帮助您解决问题

轨道2

YourModelName.all :conditions => ["DATE(created_at) = DATE(?)", DateTime.now - 1]
轨道3

YourModelName.where("DATE(created_at) = DATE(?)", DateTime.now - 1)

要获取昨天创建的所有记录,可以执行以下操作

Review.find(:all, :conditions => ["DATE(created_at) = ?", Date.today-1])

Review.where("DATE(created_at) = DATE(?)", Date.today - 1)
将您的查询更改为

Review.where('created_at>?',Time.now-24.hours)


这将返回在过去24小时内创建的评论,这在Rails 3中确实更加优雅

Review.where('created_at > ? ', Time.now - 1.day) #compares date and time as well 
Review.where('created_at > ? ', Date.today - 1) #compares only date

最后一天?你是说昨天吗?我已经给出了答案,你在这里添加了新的内容。你只需按照我的答案创建另一个。@Bharatsoni我们的答案完全不同。不,这只是我答案的副本。@PramodShinde他确实有。事实上,每个默认的
Rails迁移
都有这些
。请仔细阅读问题。这不会在最后一天内返回结果。这会在过去24小时内返回结果