1. 程式人生 > >laravel 手動分頁

laravel 手動分頁

引入分頁類:

use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Pagination\Paginator;

獲取當前訪問頁數和設定每頁數量:

if ($request->has('page')) {
    $page = $request->input('page');
    $page = $page <= 0 ? 1 : $page ;//當前要訪問的頁數
}
$perpage=10;//每頁數量

對查詢結果做切分:

$total=count($result);//結果集總數
$result=array_slice(結果集陣列,($page-1)*$perpage(即資料起始位置,從0開始),每頁數量,true);

呼叫手動分頁類:

$paginator = new LengthAwarePaginator($result, $total, $perpage, $page, [
    'path' => Paginator::resolveCurrentPath(),
    'pageName' => 'page',
]);

$result= $paginator->toArray()['data'];

返回處理後結果集和分頁給頁面:

return view('index',compact('res