ruby-on-rails – 如何在rails 3中按两个条件进行分组并循环遍历它们

ruby-on-rails – 如何在rails 3中按两个条件进行分组并循环遍历它们,第1张

概述好的,我有一个销售模型 recent_sales = Sale.recent => [#<Sale id: 7788, contact_id: 9988, purchasing_contact_id: 876, event_id: 988, #<BigDecimal:7fdb4ac06fe8,'0.0',9(18)>, fulfilled_at: nil, skip_print: nil, co 好的,我有一个销售模型

recent_sales = Sale.recent => [#<Sale ID: 7788,contact_ID: 9988,purchasing_contact_ID: 876,event_ID: 988,#<BigDecimal:7fdb4ac06fe8,'0.0',9(18)>,fulfilled_at: nil,skip_print: nil,convention_ID: 6,refund_fee: #<BigDecimal:7fdb4ac06de0,processing: false>,#<Sale ID: 886166,contact_ID: 7775,recent_sales.count=> 32

我知道我能做到这一点

grouped_sales = recent_sales.group_by(&:contact_ID).map {|k,v| [k,v.length]}=> [[9988,10],[7775,22]]

但我真正需要的不仅仅是对contact_ID进行分组,还要对event_ID进行分组,因此最终结果如下所示

=> [[9988,988,5],[9988,977,2],20]]

所以我有event_ID,分组正确地将它们分开……任何关于如何做到这一点的想法

我试过了

recent_sales.group('contact_ID,event_ID').map {|k,k.event,v.length]}

但没有去

解决方法
grouped_sales = recent_sales.group_by { |s| [s.contact_ID,s.event_ID] }                .map { |k,v| [k.first,k.last,v.length] }
总结

以上是内存溢出为你收集整理的ruby-on-rails – 如何在rails 3中按两个条件进行分组并循环遍历它们全部内容,希望文章能够帮你解决ruby-on-rails – 如何在rails 3中按两个条件进行分组并循环遍历它们所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/langs/1260144.html

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

发表评论

登录后才能评论

评论列表(0条)

保存