我正在使用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()}}
答案 0 :(得分:0)
这不是错误(我想)。您正在使用LengthAwarePaginator::resolveCurrentPage()
解析当前页面,但是它具有自己的页面名称(默认为“页面”)。您有两种选择:
$currentPage = LengthAwarePaginator::resolveCurrentPage('special') - 1;
或
LengthAwarePaginator::currentPageResolver(function () {
return 'special';
});