调用未定义的方法Illuminate \ Pagination \ Paginator :: make()?

时间:2018-04-22 08:57:38

标签: php laravel pagination

这是我的代码:

use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Input;
use Illuminate\Pagination\Paginator;
.
.
$collection = new Collection($guarantee_ticket);
// Paginate
$perPage = 3;
$currentPage = Input::get('page') - 1; // url.com/test?page=2
$pagedData = $collection->slice($currentPage * $perPage, $perPage)->all();
$pagination= Paginator::make($pagedData, count($collection), $perPage);

它抛出:

  

调用未定义的方法Illuminate \ Pagination \ Paginator :: make()

当我用use Illuminate\Support\Facades\Paginator;替换use Illuminate\Pagination\Paginator;时,它会抛出:

  

Class' Illuminate \ Support \ Facades \ Paginator'找不到

我知道如何解决它?

2 个答案:

答案 0 :(得分:4)

班级Illuminate\Pagination\Paginator没有make()方法。

使用构造函数实例化它。此外,第二个参数是perPage,第三个参数是currentPage

$pagination = new Paginator($pagedData, $perPage);

Documentation绝对令人困惑,如果不是明显错误的话。它显示了Factory,但是视图源链接到Laravel 4.2类,Laravel 5.6中没有。{/ p>

答案 1 :(得分:0)

今天,在将项目从Laravel 7升级到Laravel 8并在服务器上在线更新后,我遇到了类似的问题。

Call to undefined method Illuminate\Pagination\Paginator::useBootstrap()

我已经在线更新了完整的供应商文件夹,这些文件夹已解决了我的问题。

Laravel 8中较早的分页;我已经在我的ProductsController.php文件中更新了以下代码:-

在ProductsController顶部添加的Paginator类下方

use Illuminate\Pagination\Paginator;

从Paginator类调用useBootstrap函数以在我们使用分页的任何函数中使用。

public function listing(Request $request){
    Paginator::useBootstrap();

希望它将对以后的人有所帮助!