$items = Item::with(\'product\')->paginate(10);
$items = $items->map(function($product){
$product->name = \"Test\";
return $product;
As, given in Laravel docs, map()
method creates a new collection. To modify the values in the current collection, use transform()
method.
$items->getCollection()->transform(function ($product) {
$product->name = "Test";
return $product;
});
Also, since, paginator's items are a collection. You can use foreach
directly on $items
foreach ($items as $item)
{
$item->name = "Test";
}
You should save the data in a collection, work on them, inject them back, something like this:
$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);