我想获得有他们的记录created_at
日期最接近当前日期。 我怎样才能做到这一点与活动记录where
条款?
Answer 1:
你可以找到的东西,如过去的最近战绩:
Record.where("created_at <= ?", Date.today).order_by("created_at DESC").limit(1)
同样的,你可以在未来的最近记录
Record.where("created_at >= ?", Date.today).order_by("created_at ASC").limit(1)
然后比较至极一个最接近当前日期...
可能有一个请求,做一个解决方案,但我怎么也找不到(如果你使用SQL服务器,有一个方法DATEDIFF,可以帮助)。
更新 : 由于米沙
如果您确信所有created_at
是在过去,你看最后创建的记录,这可以写成
Record.order("created_at").last
更新
为了让所有的记录创造同日,则最后一个记录:
last_record_date = Record.max(:created_at)
Record.where(:created_at => (last_record_date.at_beginning_of_day)..(last_record_date.end_of_day))
文章来源: Find records that were created closest to the current date