【问题标题】:Call to undefined method Illuminate\Pagination\Paginator::make()?调用未定义的方法 Illuminate\Pagination\Paginator::make()?
【发布时间】:2018-10-02 12:06:21
【问题描述】:

这是我的代码:

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; 时,它会抛出:

找不到类“Illuminate\Support\Facades\Paginator”

知道如何解决吗?

【问题讨论】:

  • 使用 Illuminate\Pagination\LengthAwarePaginator; $pagination= new LengthAwarePaginator(($pagedData, count($collection), $perPage); //我从 Laravel 4.2 迁移到 Laravel 5.1 时遇到同样的错误

标签: php laravel pagination


【解决方案1】:

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

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

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

Documentation 绝对是令人困惑的,如果不是明显错误的话。它显示了工厂,但视图源链接到 Laravel 4.2 类,Laravel 5.6 中不存在该类。

【讨论】:

    【解决方案2】:

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

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

    我已在线更新了完整的 vendors 文件夹,解决了我的问题。

    早期在 Laravel 8 中进行分页;我在 ProductsController.php 文件中更新了以下代码:-

    在 ProductsController 顶部添加的 Paginator 类下方

    use Illuminate\Pagination\Paginator;
    

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

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

    希望以后能对大家有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-23
      • 2017-08-28
      • 2019-07-11
      • 2016-11-23
      • 2021-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多