手动创建分页器 (Laravel 5)

Manually Creating a Paginator (Laravel 5)

我似乎无法手动创建分页器实例。

use Illuminate\Pagination\Paginator;

class Blah {
    public function index(Paginator $paginator)
    {
        // Build array
        $var = $paginator->make($array, $count, 200);
        return $var;
    }
}

从这里我刚刚得到 Unresolvable dependency resolving [Parameter #0 [ <required> $items ]] in class Illuminate\Pagination\Paginator

laravel 5 中不再有 make() 方法。您需要创建 Illuminate\Pagination\PaginatorIlluminate\Pagination\LengthAwarePaginator 的实例。查看文档页面,手动创建分页器部分

http://laravel.com/docs/master/pagination

我猜它看起来像这样:

use Illuminate\Pagination\Paginator;

class Blah {
    public function index()
    {
        // Build array
        $array = [];
        return new Paginator($array, $perPage);;
    }
}

同时检查 this 答案。

2019 年,要手动对 laravel 中的项目进行分页,您应该像这样实例化 Illuminate\Pagination\Paginator class:

// array of items
$items = [ 'a' => 'ana', 'b' => 'bla', 'c' => 'cili' ]; 

// items per page
$perPage = 2; 

// let paginator to regonize page number automaticly
// $currentPage = null; 

// create paginator instance
$paginate = new Paginator($items, $perPage);

希望这对您有所帮助。