Laravel 5.6中的自定义分页是否仍然存在错误?

时间:2018-06-30 22:00:24

标签: laravel pagination

我正在使用LengthAwarePaginator类将集合“转换”为paginator对象。一切都像魅力一样,但是我必须更改分页名称。当我使用setPageName()方法时,URL内的页面名称从默认的“页面”更改为我需要的名称,但是分页链接根本无法正常工作-单击,即使页面上的URL出现,下一页的内容也不会出现其用于分页的自定义页面名称。

我到处都读到以前这是bug,但是现在它声称它是固定的-尽管它与Laravel 5.0版中的修复程序提供了相同的bug。

PS:我需要通过setPageName方法来做到这一点。

PS2:如果这又是一个错误,我们发现后为什么不解决它。

这是我的代码:

控制器

$currentPage=LengthAwarePaginator::resolveCurrentPage()-1;
perPage=1;
    // $items is collection variable
$currentPageBlogResults = $items->slice($currentPage * $perPage, $perPage)->all();

$items= new LengthAwarePaginator($currentPageBlogResults, count($items), $perPage);
$items->setPageName('special');
$items->setPath('main-category');

查看

@foreach($items as $items)
.....
@endforeach    
{{$items->links()}}

1 个答案:

答案 0 :(得分:0)

这不是错误(我想)。您正在使用LengthAwarePaginator::resolveCurrentPage()解析当前页面,但是它具有自己的页面名称(默认为“页面”)。您有两种选择:

$currentPage = LengthAwarePaginator::resolveCurrentPage('special') - 1;

LengthAwarePaginator::currentPageResolver(function () {
    return 'special';
});