Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
轨道4+;ActiveRecord:如何使用.group返回一个记录数组而不仅仅是一个记录?_Activerecord - Fatal编程技术网

轨道4+;ActiveRecord:如何使用.group返回一个记录数组而不仅仅是一个记录?

轨道4+;ActiveRecord:如何使用.group返回一个记录数组而不仅仅是一个记录?,activerecord,Activerecord,我有一个产品模型,它有许多产品图像s 每个图像都有一个名为name的属性 例: 产品:T恤 T恤上有图像:image1名称:蓝色,image2名称:蓝色,image3名称:绿色 ActiveRecord中是否有一种方法可以根据名称将所有T-shirt的图像分组到一个数组中?我想要返回[[image1,image2],[image3]],因为image1和image2具有相同的颜色,它们被分组到一个数组中 文档()说.group(:name)不会做我想要的事情:“这将为数据库中有订单的每个日期提供

我有一个
产品
模型,它有许多
产品图像
s

每个图像都有一个名为
name
的属性

例:

产品:T恤

T恤上有图像:
image1名称:蓝色
image2名称:蓝色
image3名称:绿色

ActiveRecord中是否有一种方法可以根据名称将所有
T-shirt
的图像分组到一个数组中?我想要返回
[[image1,image2],[image3]]
,因为image1和image2具有相同的颜色,它们被分组到一个数组中


文档()说
.group(:name)
不会做我想要的事情:“这将为数据库中有订单的每个日期提供一个订单对象。”

根据您想要的输出,您可能希望通过
方法签出Ruby Enumerable
group\u。这将返回一个散列,然后您可以获得

product_id = <T-Shirt Product ID Here>
ProductImage.where(product_id: product_id).group_by(&:name).values
产品标识=
ProductImage.where(product\u id:product\u id).groupby(&:name).values
这将提供一个数组,其中ProductImages按名称在内部数组中分组