【发布时间】:2019-12-01 14:40:35
【问题描述】:
如何遍历集合中的所有项目以获取对象中键的总和?
$data = fractal()
->collection($items, new ItemTransformer())
->paginateWith(new IlluminatePaginatorAdapter($paginator))
->addMeta([
'from' => $from->toDateString(),
'till' => $till->toDateString(),
])
->toArray();
在 addMeta() 中,我想包含所有项目的“总和”->价格->价值。
当我这样添加时:
$totalSum = $items->sum(function($item){
return $item->price->sum('value);
}
$data = fractal()
->collection($items, new ItemTransformer())
->paginateWith(new IlluminatePaginatorAdapter($paginator))
->addMeta([
'from' => $from->toDateString(),
'till' => $till->toDateString(),
'total_sum' => $totalSum,
])
->toArray();
它不会遍历集合,而是遍历 items 表中的所有值。
【问题讨论】:
-
我们有一个关于集合的 map 函数,你可以用它来迭代 laravel 集合。 laravel.com/docs/5.6/collections#method-map