1. 程式人生 > 其它 >laravel自定義分頁可以在get()獲取資料後使用LengthAwarePaginator()類進行分頁

laravel自定義分頁可以在get()獲取資料後使用LengthAwarePaginator()類進行分頁

use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Pagination\Paginator;
use Illuminate\Http\Request;
# 僅做演示 #
public function userList(Request $request) {
$users = [
['username'=>'zhangsan', 'age'=>26],
['username'=>'lisi', 'age'=>23],
['username'=>'wangwu', 'age'=>62],
['username'=>'zhaoliu', 'age'=>46],
['username'=>'wangmazi', 'age'=>25],
['username'=>'lanzi', 'age'=>24],
['username'=>'pangzi', 'age'=>21]
];
$perPage = 3;
if ($request->has('page')) {
$current_page = $request->input('page');
$current_page = $current_page <= 0 ? 1 :$current_page;
} else {
$current_page = 1;
}
$item = array_slice($users, ($current_page-1)*$perPage, $perPage); //註釋1
$total = count($users);
$paginator =new LengthAwarePaginator($item, $total, $perPage, $currentPage, [
'path' => Paginator::resolveCurrentPath(), //註釋2
'pageName' => 'page',
]);
$userlist = $paginator->toArray()['data'];
return view('userlist', compact('userlist', 'paginator'));
}
本場景程式碼
public function index(Request $request){
$paginator =new LengthAwarePaginator([], 100,5, 1, [
'path' => Paginator::resolveCurrentPath(), //註釋2
'pageName' => 'page',
]);
echo $paginator->appends(['sort' => 'votes'])->render();
exit;

原文連結:https://blog.csdn.net/qq_16399991/article/details/56676793

踩過這個坑,還有下一個坑等著你,這一路就是給自己填坑,坑填多了,也就習慣了,直到這一路平坦了,也就無怨無悔了。