laravel自定义分页LengthAwarePagi…

本文介绍了一个简单的分页查询实现方式,使用PHP与Laravel框架的LengthAwarePaginator类来展示用户列表,并通过请求参数控制当前页数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景:我调用接口 传入分页大小等数据,接口返回总数的和列表

demo   链接:http://www.jb51.net/article/94243.htm



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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值