手机版

laravel手动创建数组分页的实现代码

时间:2021-08-31 来源:互联网 编辑:宝哥软件园 浏览:

介绍了laravel手动创建数组分页的实现代码,分享给大家,如下:

Laravel分页功能:

有几种方法可以分页显示数据。最简单的方法是在[查询语句生成器]或[雄辩查询]中使用分页或简单分页方法。

分页的用法如下:

//$ users=db : table(' users ')-控制器中的paginate(15);返回视图(' user.index ',[' users '=$ users]);//视图中{{ $users-links() }}的效果如下:

“上一个”、“1”、“2”、“3”和“下一个”

简单分页的用法如下:

//在控制器中,$ users=user:3360其中('投票','',100)-简单分页(15);返回视图(' user.index ',compact(' users '));//视图中{{ $users-links() }}的效果如下:

“上一页”和“下一页”

注意:

如果在分页视图中只需要显示“下一页”和“上一页”的简单链接,即不需要显示每个页码的链接,建议使用simplePaginate方法进行更高效的查询。目前,Laravel无法使用groupBy语句高效地执行分页操作。如果需要在分页结果集中使用groupBy,建议您查询数据库并手动创建一个分页。有时可能会发生$dataA和$dataB是从数据库中获取的两个不同的数据集,因此有必要同时将$dataA和$dataB分配给视图,并在页面上显示它们。这种情况怎么办?

在这种情况下,laravel数组可以用于分页。

其实在laravel文档中,已经写了如何使用分页类进行分页,但是没有详细的说明。

手动创建分页

如果您想手动创建一个分页实例,并最终获得一个数组类型的结果,您可以根据需要创建一个光照分页器或光照提供器的实例。

有关详细信息,您可以在lighteprovisionlengthawaragenator中看到这段代码:

public function _ _ construct($ items,$total,$perPage,$currentPage=null,array $ options=[]){ foreach($ options as $ key=$ value){ $ this-{ $ key }=$ value;} $ this-total=$ total;$ this-perPage=$ perPage;$ this-LastPage=max((int)ceil($ total/$ PerpPage),1);$这个路径=$这个路径!=='/' ?rtrim($this-path,'/'): $ this-path;$ this-current page=$ this-setcurrent page($ current page,$ this-page name);$ this-items=$ items instance of Collection?$ items : collection :3360 make($ items);}以下是具体的实现代码:

//公共函数索引(liveservice $ liveservice,request $ request){//data a $ dataa=user :3360其中(' status ',1)-get()-to array();//data b $ datab=user:其中(' status ',2)-get()-to array();$data=array_merge($dataA,$ DataB);//当前页码默认为1 $page=$request-page? 1;//每页页数$ perPage=4;//计算每页的初始位置$ offset=($ page * $ perpage)-$ perpage;//实例化lengthawarepagentator类并传入相应的参数$ data=new lengthawarepagentator(array _ slice($ data,$ offset,$ perpage,true),count ($ data),$ perpage,['path'=$request-url(),' query '=$ request-query()]);返回视图(' admin.users.index ',compact(' data '));}//数组分页在视图中的{{ $data-links() }}上方基本完成。一般过程是控制器获取当前页码,实例化LengthAwarePaginator类并传入必要的参数,根据页数使用array_slice()方法获取每页要显示的数据。

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:laravel手动创建数组分页的实现代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。