代码之家  ›  专栏  ›  技术社区  ›  bo-oz

有没有ruby/rails gem可以让查询时间范围变得更容易?

  •  -1
  • bo-oz  · 技术社区  · 7 年前

    对于一个项目,我想统计一下我在某个时间窗口内的注册数量,比如本周或上个月。我最终写了这样的类方法/作用域:

      def self.this_week
        where(created_at: Date.today.beginning_of_week..Date.today.end_of_week).count
      end
    
      def self.last_week
        where(created_at: 1.week.ago.beginning_of_week..1.week.ago.end_of_week).count
      end
    

    难道没有更简单的方法,或者某种宝石来解决这个问题吗?我只需要在一些模型上使用它,理想情况下,还需要一种方法来轻松地将属性更改为updated_。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Alex Baidan    7 年前

    如果你在Rails 5.2上。你不需要额外的宝石。从5.2开始,Rails有内置的方法 all_day , all_week 等

    DateAndTime::Calculations