我有一组文档,我已将其存储在数组$resultset
中。我想在它上面应用laravel Paginator :: make方法。
In Controller:
$total_resultset = count($resultset);
$perPage = 10;
$currentPage = Input::get('pageno',1);
$offSet = ($currentPage * $perPage) - $perPage;
$pagedData = array_slice($resultset, $offSet,$perPage, true);
$resultset = Paginator::make($pagedData, $total_resultset, $perPage);
and in view:
@foreach($resultset as $r)
$r->title
@endforeach
{{ $resultset->links() }}
问题是,当我在$PagedData
中使用Paginator::make
时,每页返回10个文档。但是所有页面都有相同的文档集,而不是不同的文档,page = 2不会显示新的文档集。当我在$resultset
中使用Paginator::make
时,它会返回所有文档,而不仅仅是10.
我不能使用Eloquent或DB查询,因为$resultset
有基于不同查询的文档。我很困惑我错了。
提前致谢
答案 0 :(得分:0)
$total_resultset = count($resultset);
$perPage = 10;
$currentPage = Input::get('pageno',0); //if you use default 1 you will skip 10 results
$offSet = ($currentPage * $perPage);// Ex: (1*10)= 10 - 10 = 0 you are not moving
$pagedData = array_slice($resultset, $offSet,$perPage, false);//maybe you are using Eloquent? you can use take() and skip() if is the case; and you was preserving the array keys in slice so never move really
$resultset = Paginator::make($pagedData, $total_resultset, $perPage);
希望有帮助:)