gpt4 book ai didi

ruby-on-rails - 如何在 Ruby on Rails 中对按月分组的记录求和

转载 作者:太空宇宙 更新时间:2023-11-03 16:40:37 25 4
gpt4 key购买 nike

我有一个模型 Dato,它有一个名为 Ingresos 的列。

我需要按月对 Ingresos 进行分组,并对每个月的一个月内的所有记录求和。

@datos = Dato.all
@datos_months = @datos.group_by { |t| t.date.beginning_of_month }
@datos_months_ingresos = @datos_months.sum(:ingresos)

这样我只得到一个包含所有列的数组,而不是按月计算的 ingresos 总和。

有什么想法吗?谢谢大家!

最佳答案

一个非常简单的解决方案是使用 gem GroupDate .这样你就可以直接从你的数据库做你需要的一切,而不是迭代 ruby​​ 中的所有记录:

Dato.group_by_month(:created_at).sum(:ingresos)

在这里您可以看到引擎盖下发生的查询:https://github.com/ankane/groupdate/blob/master/lib/groupdate/relation_builder.rb .

关于ruby-on-rails - 如何在 Ruby on Rails 中对按月分组的记录求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55927412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com