我正在尝试使用Chartkick建立折线图,以显示卖家在几天内的销售数量,但是我不知道该怎么做。
我已经在表格中使用以下代码显示卖家名称和您的销售额:
@sales = Sale.where(created_at: DateTime.current.beginning_of_month..DateTime.current.end_of_month)
@sales_seller = @sales.joins(:user).select("user_id, COUNT(sales.id) AS total").group('user_id')
这将返回:
+--------+-------+
| Name | Total |
+--------+-------+
| Jack | 10 |
| Kevin | 3 |
| Andrea | 11 |
+--------+-------+
但是我不知道如何在这种情况下放置sales.created_at
我的模特
belongs_to :user
has_many :sales
有人可以帮助我吗?
答案 0 :(得分:0)
这应该有效。
我使用num_of_sales
作为包含销售数量的sales列,您必须根据您的Sale
模型对其进行修复:
data = @user.joins(:sales).select('users.name as name, sales.num_of_sales').group(:name).sum(:num_of_sales)
按用户名分组,但最好按user_id分组。
要过滤销售,只需链接一个where方法:
data = @user.joins(:sales).where(.....).select(.....
然后您可以使用以下命令绘制线条:
<%= line_chart data %>