如何只请求在最后一天创建的DB记录?

时间:2014-05-03 05:19:33

标签: ruby-on-rails

该表包含默认的created_atupdated_at列。我已经用Google搜索了这个问题,但似乎无法解决这个问题。我想说Review.where(created_at > Time.now - 24 hours)之类的东西。什么是最简单/最聪明的方法呢?

4 个答案:

答案 0 :(得分:2)

要获取昨天创建的所有记录,您可以这样做

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

Review.where("DATE(created_at) = DATE(?)", Date.today - 1)

答案 1 :(得分:0)

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

rails 2

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

rails 3

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

答案 2 :(得分:0)

将您的查询更改为

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

这将返回过去24小时内创建的评论

答案 3 :(得分:0)

确实在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