当前位置:  开发笔记 > 编程语言 > 正文

如何查找上个月创建的记录?

如何解决《如何查找上个月创建的记录?》经验,为你挑选了2个好方法。

我有一张表,每天都会添加新记录.我如何查找上个月创建的记录?



1> Andrew Vit..:

设置命名范围:

named_scope :in_last_month, :conditions => [ "records.created_at > ?", 1.month.ago ]

要调用它(在你的控制器中):

Record.in_last_month



2> Ian Terrell..:

named_scope我认为这是一种相当优雅的方式,但是如果你采用这种方法,你将需要使用一种lambda方法,以便在最初加载应用程序时不会限定时间.

例如,这个:

named_scope :last_month, :conditions => 
  ['created_at > ? AND created_at < ?', 
  Date.today.last_month.beginning_of_month, Date.today.beginning_of_month]

将在您的应用程序启动的第一个月正常运行,但在下个月不正确,除非应用程序重新启动.

但是这个:

named_scope :last_month, lambda {
  {:conditions => ['created_at > ? AND created_at < ?', 
   Date.today.last_month.beginning_of_month, Date.today.beginning_of_month]}}

每次都会工作,因为lambda方法在每次调用时执行,重新评估Date.todays.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有