Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 按属性将Rails查询分组到数组中_Sql_Ruby On Rails - Fatal编程技术网

Sql 按属性将Rails查询分组到数组中

Sql 按属性将Rails查询分组到数组中,sql,ruby-on-rails,Sql,Ruby On Rails,假设我有以下行:(表示为JSON): 在Rails中,我如何按年龄对它们进行分组?例如,我想要这样的东西: [ { age: 10, objects: [ { name: "Bob", age: 10 }, { name: "Alice", age: 10 } ] }, { age: 15, objects: [ { name: "Carl", age: 15 } ] }, { age: 20, objects: [ { name: "Dere

假设我有以下行:(表示为JSON):

在Rails中,我如何按年龄对它们进行分组?例如,我想要这样的东西:

[
  { age: 10, objects: [
    { name: "Bob", age: 10 },
    { name: "Alice", age: 10 }
  ] },
  { age: 15, objects: [
    { name: "Carl", age: 15 }
  ] },
  { age: 20, objects: [
    { name: "Derek", age: 20 }
  ] },
]
明白了

People.all.group_by(&:age)

如果您实际处理的是JSON:

people.group_by{|p| p['age'] }
如果您正在处理ActiveRecord模型:

People.group('id, age')

还有关于使用ActiveRecord分组的附加文档。

我喜欢带有块的文档!不幸的是,我在PG视图中以与列相同的方式命名了一个关联,Rails试图用它来实现一些“意想不到的”魔力。幸运的是,我能够做类似于
人的事情。按{p | p.read_属性(:age)}
分组。符号是用来做什么的?它是将
:age
转换为进程的快捷方式,请参见此处:
People.group('id, age')