我看起来有另一个分页问题。当我遍历下面的分页数组时,我每页都会得到整个数组。
$array = [...];
$ret = new LengthAwarePaginator($array, count($array), 10);
// dd($ret);
LengthAwarePaginator {#302 ▼
#total: 97
#lastPage: 10
#items: Collection {#201 ▼
#items: array:97 [▶]
}
#perPage: 10
#currentPage: 1
#path: "/"
#query: []
#fragment: null
#pageName: "page"
}
从雄辩的模型构建LAP时不是这种情况,例如:Blah::paginate()
答案 0 :(得分:18)
分页器不会自动为您分割给定的数组。在将它传递给分页器之前,你必须先自己切片。
为了让您的生活更轻松,请使用collect
帮助程序创建laravel集合的实例,这样可以非常轻松地进行切片:
$items = collect([...]);
$page = Input::get('page', 1);
$perPage = 10;
$paginator = new LengthAwarePaginator(
$items->forPage($page, $perPage), $items->count(), $perPage, $page
);
答案 1 :(得分:0)
LengthAwarePaginator不会自动分块。快速解决方法是做类似的事情:
foreach($col->slice($col->perPage() * ($col->currentPage() - 1), $col->perPage()) as $item)
{
// do blah
}