Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel paginate方法不适用于地图收集?_Php_Laravel - Fatal编程技术网

Php Laravel paginate方法不适用于地图收集?

Php Laravel paginate方法不适用于地图收集?,php,laravel,Php,Laravel,在控制台上的“我的视图”中,是否对未显示的对象进行分页?您应该将数据保存在集合中,对其进行处理,然后将其重新注入,如下所示: $items = Item::with('product')->paginate(10); $items = $items->map(function($product){ $product->name = "Test"; return $product; }); return res

在控制台上的“我的视图”中,是否对未显示的对象进行分页?

您应该将数据保存在集合中,对其进行处理,然后将其重新注入,如下所示:

$items = Item::with('product')->paginate(10);

    $items = $items->map(function($product){
          $product->name = "Test";
          return $product; 
    });

    return response()->json(['items' => $items]);
如中所示,
map()
方法创建一个新集合。要修改当前集合中的值,请使用
transform()
方法

$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);
此外,因为,paginator的项目是一个集合。您可以直接在
$items

$items->getCollection()->transform(function ($product) {
    $product->name = "Test";
    return $product;
});

您的
项目
对象不再是分页对象。你可以用standart collection来换,但我怎么能用standart collection来换呢。请举例说明你为什么把它转换成地图?你不能直接返回paginator实例吗?是的,我需要使用map方法。我知道没有map collection paginate可以很好地工作,但是当我使用map collection paginate方法时,paginator方法不工作,因为,
$items
paginator实例是一个集合,你应该在
$items
上使用
foreach
,谢谢你的回复,但我得到了错误未定义属性:Illumb\Pagination\LengthAwarePaginator::$DataCode第三行$tempItems=$data->items,这里是来自何处的项目?我也有错误。调用未定义方法Illumb\Database\Query\Builder::getByPage()感谢您的回复,但此转换方法使用('product'))关系?它不起作用吗?我认为您可能需要在调试中查看集合:(.只是想看看你从
$product
中得到了什么,我选中了所有,但当我使用transform方法工作正常时,我得到了分页对象元素,但你知道我得到的是具有产品关系的项目。在我的视图中,我无法显示产品元素。很抱歉,我不理解问题:(.您获得了
$product
值,对吗?但在视图中显示这些值时遇到了问题?感谢您的帮助,transform方法工作得非常好。
foreach ($items as $item)
{
 $item->name = "Test";
}