如何在laravel中的sortBy之后添加偏移量

问题描述

如何在 Laravel 中使用 sortBy添加偏移量?请看下面我的代码

控制器

$order_type = ($dir == 'asc') ? 'sortBy' : 'sortByDesc';

$inventories = $inventories->get()->$order_type(function($inventory) {
   $item_status = [
     '0'  => 'I','1'  => 'D','2' => 'HI','3' => 'HR','4' => 'A','5' => 'DS'
   ];

   return $item_status[$inventory->receive_item->inspection_status];
});

$inventories = $inventories->offset($start)->limit($limit);

我得到的错误

Macroable.PHP 第 74 行中的 BadMethodCallException:方法偏移量不存在。

解决方法

集合没有 offsetlimit 方法。您可以使用 slicetake

$inventories->slice($start)->take($limit)

Laravel 5.2 Docs - Collections - Available Methods - slice

Laravel 5.2 Docs - Collections - Available Methods - take