ruby-on-rails – group_by和count

ruby-on-rails – group_by和count,第1张

概述@entries_by_source = Entry.joins(:training_entries).group("source_id, classification_id, category_id").select("source_id, classification_id, category_id, count(*) as entries_count") 这些都在@entires_by_so
@entrIEs_by_source = Entry.joins(:training_entrIEs).group("source_ID,classification_ID,category_ID").select("source_ID,category_ID,count(*) as entrIEs_count")

这些都在@entires_by_source中

- !ruby/ActiveRecord:Entry   attributes:     source_ID: 1    classification_ID: 1    category_ID: 1    entrIEs_count: 198- !ruby/ActiveRecord:Entry   attributes:     source_ID: 1    classification_ID: 1    category_ID: 2    entrIEs_count: 614- !ruby/ActiveRecord:Entry   attributes:     source_ID: 2    classification_ID: 1    category_ID: 3    entrIEs_count: 1

现在我正在尝试打印这样的东西:

source_ID entrIEs_count1          812 #sum of entrIEs_count 198 + 6142          1

以下代码无效.任何帮助将不胜感激

<% @entrIEs_by_source.group_by(&:source_ID).each do |source_ID,entrIEs_count| %>  <%= source_ID %><%= entrIEs_count %><% end %>
解决方法 group_by会返回一个数组

[{‘source_ID_1’=> [values,…]},{‘source_ID_2’=> [值,……]}]

你需要总计数,如:

<% @entrIEs_by_source.group_by(&:source_ID).each do |source_ID,entrIEs| %>  <%= source_ID %><%= entrIEs.sum(&:entrIEs_count) %><% end %>
总结

以上是内存溢出为你收集整理的ruby-on-rails – group_by和count全部内容,希望文章能够帮你解决ruby-on-rails – group_by和count所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1286231.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存