我在我的'StatementSales'模型中编写了以下sum / group方法,并且希望能够按日期限制结果,此时它只是为所有有效的db条目生成总计。在我的观点中,我想提供“一周,一个月,三个月,一年”等链接,理想情况下将这些链接传递给下面的方法。我该怎么做呢?
def self.total_units
sum(:units)
end
def self.units_by_store
group(:store).sum(:units)
end
def self.units_by_territory
group(:territory).sum(:units)
end
def self.units_by_upc
group(:upc).sum(:units)
end
非常感谢提前!
答案 0 :(得分:0)
您可以使用范围
将此添加到您的班级
scope :between_dates, lambda { |start_date, end_date| where("date < #{end_date} AND date >= #{start_date}") }
scope :one_week, between_dates(Date.today, Date.today + 7.days)
然后你可以做
def self.total_units
self.one_week.sum(:units)
end