$items = Item::with('product')->paginate(10);
$items = $items->map(function($product){
$product->name = "Test";
return $product;
});
return response()->json(['items' => $items]);
在我看来,控制台分页对象上的刀片没有显示?
答案 0 :(得分:10)
正如在Laravel docs中给出的,Map()
方法创建了一个新集合。要修改当前集合中的值,请使用transform()
方法。
$items->getCollection()->transform(function ($product) {
$product->name = "Test";
return $product;
});
此外,因为,paginator的项目是一个集合。您可以直接在foreach
$items
foreach ($items as $item)
{
$item->name = "Test";
}
答案 1 :(得分:0)
您应该将数据保存在集合中,对其进行处理,然后将其注入,如下所示:
$page = Input::get('page', 1);
$data = Item::with('product')->getByPage($page, 10);
$tempItems = $data->items;
$tempItems = $tempItems->map(function($product){
$product->name = "Test";
return $product;
});
$objects = Paginator::make($tempItems, $data->totalItems, 10);