Ruby On Rails中的活动记录分组

Dheena
record = #<ActiveRecord::AssociationRelation 
[#<User id: 2, store_id: 3,location: 'xxx'>, 
#<User id: 4, store_id: 3,location:'yyy'>, 
#<User id: 5, store_id: 4,location:'zzz'>, 
#<User id: 6, store_id: 4,location:'aaa'> ]>

如何基于红宝石中的store_id以逗号分隔的形式对位置进行分组以获取结果,

store-id(3)的位置应与逗号(yyy,xxx)进行组合,

那么store-id(4)的位置应与逗号组合为(zzz,aaa)

#< store_id: 3,location:'yyy,xxx'>
#< store_id: 4,location:'zzz,aaa'> 
毛里西奥·梅内加斯(Mauricio Menegaz)

使用Enumerable.group_by可以这样:

User.all.group_by(&:store_id).map{|store_id,records| {store_id: store_id, location: records.map(&:location).join(',')}}

如果要使用ActiveRecord中的group方法在数据库级别进行分组,则需要在数据库上具有负责串联的功能,因此解决方案将取决于所使用的数据库。

例如,在MySQL中(请参阅我可以将多个MySQL行连接到一个字段中吗?

User.group("store_id").select("store_id, GROUP_CONCAT(location SEPARATOR ',') as location")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby on Rails:更新数据库中的布尔记录

来自分类Dev

Ruby on Rails模型中的<<

来自分类Dev

按布尔值分组,但更改Rails中的ruby键

来自分类Dev

在Ruby中按身份分组

来自分类Dev

从活动记录分组中仅获取一个值-Ruby on Rails

来自分类Dev

Ruby on Rails活动记录选择始终返回ID

来自分类Dev

隐藏记录,而不是在Rails 4.2.0中的ruby中删除它们

来自分类Dev

Ruby on Rails活动记录

来自分类Dev

将两个表连接到Ruby / Rails活动记录中

来自分类Dev

Ruby on Rails-从孙子表中获取记录

来自分类Dev

如何在ruby rails中为每个活动记录对象的setter设置不同的值?

来自分类Dev

禁止某些参数记录在Ruby on Rails中

来自分类Dev

从Rails中的ruby表中删除记录

来自分类Dev

Ruby on Rails活动记录查询界面

来自分类Dev

Ruby on Rails中的Mailer

来自分类Dev

在Ruby中按哈希分组

来自分类Dev

Ruby on Rails活动记录查询

来自分类Dev

在Ruby on Rails中使用活动记录执行SQL操作

来自分类Dev

如何在Ruby中更新活动记录

来自分类Dev

Ruby on Rails中的跟踪活动最佳实践

来自分类Dev

Ruby on Rails活动记录选择始终返回ID

来自分类Dev

Ruby on Rails在单个查询中更新多个记录

来自分类Dev

无法在Rails 3.2.14和Ruby 2.1.0的活动记录中添加键值对

来自分类Dev

Ruby on Rails-多租户帐户和用户的活动记录关联

来自分类Dev

在 Ruby on Rails 中组织和映射记录

来自分类Dev

在 ruby on rails 活动记录查询中找到第二大元素的更好方法

来自分类Dev

Ruby on Rails 5,活动记录关联,仅 API

来自分类Dev

无法在 ruby on rails 中打印数据库记录

来自分类Dev

基于ruby on rails中关联模型属性的模型排序记录

Related 相关文章

热门标签

归档