有时候我们使用larave提供的后台分页数据库查询,有时候限制太多,我们需要自己定制分页功能。
下面是我给大家一个例子,我们可以根据例子,制作自己的分页功能。
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; ———————————————— 版权声明:本文为CSDN博主「wangxiaoangg」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_16399991/article/details/56676793