【发布时间】:2013-09-13 12:52:35
【问题描述】:
考虑一个简单的例子,考虑以下记录存储:
{ item: 'A', group: 'red', quantity: 1 },
{ item: 'A', group: 'green', quantity: 1 },
{ item: 'B', group: 'red', quantity: 1 },
{ item: 'B', group: 'blue', quantity: 1 },
{ item: 'C', group: 'green', quantity: 1 }
我的目标是创建一个网格,其中每个不同的 group 字段作为过滤器,其中所有活动过滤器将 quantity 合并到唯一的 item 中。例子:
// show: red, green // show: green // show: red, blue
item | quantity item | quantity item | quantity
--------------- --------------- ---------------
A | 2 A | 1 A | 1
B | 1 C | 1 B | 2
C | 1
有没有内置的方法来处理这个问题?我的想法是:
- 首先在
group上应用文件管理器。然后使用collect获取所有唯一的item剩余作为行的基础。对这些项目中的每一项执行find并将结果的数量相加。 - 将我的模型重新考虑为:
.
{
item: 'A', quantities: [
{ group: 'red', quantity: 1 }, { group: 'green', quantity: 2 }
]
}
想法?
【问题讨论】: