Laravel 数据分页

二、数据分页
在laravel里面要完成分页是很简单的,它的思想之前的框架有些不一样,之前框架使用的是分页类完成分页,laravel是直接调用模型的分页方法,返回对应的数据和分页的字符串。
分页类的在框架中的位置(了解):
在这里插入图片描述

案例:使用分页功能实现当前member数据表的分页效果。由于数据量较少,可以考虑每页显示1个记录,重点是分页的效果

回忆/问题:分页效果的实现大致需要哪几个步骤才能实现?
	a. 查询符合分页条件的总的记录数
b. 计算总的页数(总记录数/每页记录数,并且向上取整)
c. 拼凑分页的链接
d. (核心)使用limit语法来限制分页的记录数
e. 展示分页的页码和分页数据
f. 如果可以,建议去考虑下分页的样式显示问题

①创建路由,并且展示简易列表页面(table标签布局)
路由:
在这里插入图片描述

创建列表文件:

在这里插入图片描述
②编写控制器中的方法代码,实现没有分页的效果(先不考虑分页效果)

在这里插入图片描述
③展示数据
在这里插入图片描述

无分页展示效果:
在这里插入图片描述

④【案例】使用分页展示上述的页面
要求:每页显示一条记录。
在laravel中分页有2个提供者:DB查询构建器,另外可以使用模型来实现。
用法基本一致。
以模型为例:
在这里插入图片描述
分页的基本语法:
Model::paginate(每页显示的记录数) 同样,paginate和get一样,支持使用where以及orderBy等辅助查询的方法。
在这里插入图片描述

不展示分页链接的效果:
在这里插入图片描述

在页面中展示分页链接:

在这里插入图片描述

语法:{{$保存数据的对象 -> links()}}生成的链接

在这里插入图片描述

目前显示效果:

在这里插入图片描述

⑤【可选】将页面的提示“>>”和“<<”改成上一页和下一页提示文字
直接改源码文件:

在这里插入图片描述

改为提示文字:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

注意:可以使用simplePaginate()表示简单分页,只有上一页和下一页,没有分页字符串。
例如:$info = Member::orderby(‘age’,‘desc’)->simplePaginate(2);
附:分页数据对象的其他实用方法如下

分页数据对象->count()        			//当前页数据条数
分页数据对象->currentPage()  		//当前页码
分页数据对象->firstItem()    			//当前页第一条数据的序号
分页数据对象->hasMorePages() 		//是否有后续页码
分页数据对象->lastItem()     			//当前页最后一条数据的序号
分页数据对象->lastPage() 				//最后页序号
分页数据对象->nextPageUrl()  		//下一页的链接地址
分页数据对象->perPage()      			//每页显示数据条数
分页数据对象->previousPageUrl()  	//上一页的链接地址
分页数据对象->total() 					//记录总条数
分页数据对象->url(5)         			//制作指定页码的链接地址

将页码稍作处理,写的好看点:

样式代码可以百度上寻找:https://www.cnblogs.com/lamp01/p/6869762.html
将css代码引入到当前的分页页面,最终显示效果:
在这里插入图片描述

posted @ 2019-12-16 23:51  江湖艺人  阅读(1280)  评论(0编辑  收藏  举报