我有一个Payments模型,用于存储payment_date和金额。我希望在过去的一年里每个月都能完成全部付款。
我开始在过去12个月内完成所有付款。现在我如何将它们分组为每个月并获得该月的总金额。我只需要结果集中的以下两个字段:“month and year”和“total_amount”。我需要这些数据来构建月度支出的图表。
我正在使用rails 3.
答案 0 :(得分:1)
<强>更新强>
以下查询返回分组的Payment
个对象,因此您需要提取所需的字段,如下所示:
@payments = Payment.select("SUM(amount) as total_payment, MONTH(payment_date) as month, YEAR(payment_date) as year").group("MONTH(payment_date), YEAR(payment_date)")
@data = @payments.map {|payment| [payment.amount, payment.month, payment.year]}
然后提取您需要的值。