ruby-on-rails – 如何在rails 3中按两个条件进行分组并循环遍历
发布时间:2020-12-17 01:53:12 所属栏目:百科 来源:网络整理
导读:好的,我有一个销售模型 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:7f
好的,我有一个销售模型
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 – 获取libxml2.2.dylib的错误“文件不是必需的体系结
- javascript ajax的5种状态介绍
- PostGIS+QGIS+GeoServer+OpenLayers实现数据的存储、服务的
- Oralce中VARCHAR2()与NVARCHAR2()的区别介绍
- ruby-on-rails – 使用无效参数更新时RSpec控制器规范失败
- C语言实现快速排序改进版
- iphone – 高分辨率UITabBar图标全屏显示在低分辨率屏幕上
- 传递给const引用的C literal导致自动构造
- 安装PostgreSQL数据库(Linux篇)
- iphone – 在UISplitViewController中为横向模式中的一个视