我有一个名为DinnerItem的表格,包括id、name、project_id、client_id、item_id和item_quantity这些列。
我想按照item_id这一列分组获取数据,其值应该只包含item_quantity列的值,并且格式如下:
如何在一次查询中实现它?
但是这个格式如下:
我想按照item_id这一列分组获取数据,其值应该只包含item_quantity列的值,并且格式如下:
{ item_id1 => [ {item_quantity from row1}, {item_quantity from row2}],
item_id2 => [ {item_quantity from row3}, {item_quantity from row4} ]
}
如何在一次查询中实现它?
OfferServiceModels::DinnerItem.all.select('item_id, item_quantity').group_by(&:item_id)
但是这个格式如下:
{1=>[#<DinnerItem id: nil, item_id: 1, item_quantity: nil>, #<DinnerItem id: nil, item_id: 1, item_quantity: {"50"=>30, "100"=>10}>], 4=>[#<DinnerItem id: nil, item_id: 4, item_quantity: {"100"=>5, "1000"=>2}>}
joins
之后按列分组的完美解决方案。 - Purple_Kitten