2016-09-27 60 views
-2

我有一个销售台导轨创造了红宝石的每周报告显示,由5列上覆盖空日期为0

id, sale_code, total_sale, created_at, updated_at 

的我想打的每周报告这样

date  | total_sale 
2016-09-27 | 1000 
2016-09-28 |  0 
2016-09-29 | 500 

和当天没有销售产品时,报告中仍然显示0值。

有没有办法做到这一点?在此先感谢

+0

你有什么问题吗? –

+0

在视图中生成表格时,您可以添加一些ruby代码,用0代替任何零值... – bkunzi01

+0

问题是,当我有一个数据包含2016-09-27和2016-09-29,以及在第28天也没有销售,如何展示它? –

回答

0

您可以通过本周的每一天,并计算当天的所有销售。

它可能看起来像这样的事情:

today = Date.today 
week_days = (today.at_beginning_of_week..today.at_end_of_week).map 
week_sales = Sales.where("created_at > ? AND created_at < ?", week_days.first.beginning_of_day, week_days.last.end_of_day) 

p "date | total_sale" 

week_days.each do |day| 
    day_sales = week_sales.count{|sale| sale.created_at > day.beginning_of_day && sale.created_at < day.end_of_day} 
    p "#{day.strftime("%Y-%m-%d")} | #{day_sales}" 
end