黑马lavarel教程---1三、分页

黑马lavarel教程---1三、分页

1、总结

一句话总结:

- lavarel里面的分页操做和tp里面的分页操做几乎是如出一辙的
- 控制器:$data=Lesson::paginate(2);
- 视图:{{$data->links()}}

 

 

 

2、数据分页

在laravel里面要完成分页是很简单的,它的思想以前的框架有些不同,以前框架使用的是分页类完成分页,laravel是直接调用模型的分页方法,返回对应的数据和分页的字符串。css

分页类的在框架中的位置(了解):html

 

 

 

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

回忆/问题:分页效果的实现大体须要哪几个步骤才能实现?框架

       a. 查询符合分页条件的总的记录数布局

b. 计算总的页数(总记录数/每页记录数,而且向上取整)url

c. 拼凑分页的连接htm

d. (核心)使用limit语法来限制分页的记录数对象

e. 展现分页的页码和分页数据blog

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)                        //制做指定页码的连接地址

 

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

 

样式代码能够百度上寻找:http://www.javashuo.com/article/p-xjjflwuq-db.html

将css代码引入到当前的分页页面,最终显示效果:

相关文章
相关标签/搜索