是否可以用sum()对一个laravel集合进行groupBy?这个集合看起来像这样。
[
{id: 1, name: A, quantity: 1, price: 20, options:[{id:10,name:AC}{id:13,name:AB}]},
{id: 1, name: A, quantity: 5, price: 15, options:[{id:20,name:AV},{id:30,name:AZ}]},
{id: 1, name: A, quantity: 10, price: 15, options:[{id:20,name:AV},{id:30,name:AZ}]},
{id: 1, name: A, quantity: 2, price: 10, options:[]},
{id: 1, name: A, quantity: 4, price: 10, options:[]}
]
第2行和第3行是相同的,我需要对数量进行求和。
第4行和第5行是相同的,我需要对数量进行求和。
结果应该是这样的。
[
{id: 1, name: A, quantity: 1, price: 20, options:[{id:10,name:AC}{id:13,name:AB}]},
{id: 1, name: A, quantity: 15, price: 15, options:[{id:20,name:AV},{id:30,name:AZ}]},
{id: 1, name: A, quantity: 6, price: 10, options:[]},
]
你可以显示这个 包裹
$invoices = Invoice::withSum('items:price')->get();