laravel手动创建数组分页的实现代码
本文介绍了laravel手动创建数组分页的实现代码,分享给大家,具体如下: laravel分页功能:有几种方法可以对数据进行分页。最简单的是在 [查询语句构造器] 或 [Eloquent 查询] 中使用 paginate 或 simplePaginate 方法。 paginate用法如下: paginate(15);
return view('user.index',['users' => $users]);
//视图中 效果如下:
simplePaginate用法如下: ',100)->simplePaginate(15);
return view('user.index',compact('users'));
//视图中 效果如下:
注意:
有时候可能会遇到这种情况,$dataA和$dataB是从数据库取出的两个不同的数据集合,需要同时将$dataA和$dataB分配到视图并进行分页展示,那这种情况怎么办呢? 这种情况可以采用laravel数组分页。其实在laravel文档中已经有写如何自己使用分页类去分页了,但没有 详细说明。 手动创建分页如果你想手动创建分页实例并且最终得到一个数组类型的结果,可以根据需求来创建 IlluminatePaginationPaginator 或者 IlluminatePaginationLengthAwarePaginator 实例来实现。 具体可以看IlluminatePaginationLengthAwarePaginator中的这段代码: $value) {
$this->{$key} = $value;
}
$this->total = $total; 以下为具体实现代码: get()->toArray();
//数据B
$dataB = User::where('status',2)->get()->toArray();
$data = array_merge($dataA,$dataB);
//当前页数 默认1
$page = $request->page ?: 1;
//每页的条数
$perPage = 4;
//计算每页分页的初始位置
$offset = ($page * $perPage) - $perPage;
//实例化LengthAwarePaginator类,并传入对应的参数
$data = new LengthAwarePaginator(array_slice($data,$offset,true),count($data),$page,['path' => $request->url(),'query' => $request->query()]);
return view('admin.users.index',compact('data'));
}
//视图中 以上基本就完成了数组分页,大致流程就是控制器获取到当前页数,实例化 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |