黑马lavarel教程---13、分页

一、总结

一句话总结:

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

二、数据分页

在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代码引入到当前的分页页面,最终显示效果:

 

黑马lavarel教程---13、分页的更多相关文章

  1. 黑马lavarel教程---5、模型操作(AR模式)

    黑马lavarel教程---5.模型操作(AR模式) 一.总结 一句话总结: AR: ActiveRecord :Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型 ...

  2. 黑马lavarel教程---1、lavarel目录结构

    黑马lavarel教程---1.lavarel目录结构 一.总结 一句话总结: 一套视频讲的东西太少,要看多套视频 1.安装lavarel需要额外开启的模块? extension=php_filein ...

  3. 黑马lavarel教程---9、缓存操作

    黑马lavarel教程---9.缓存操作 一.总结 一句话总结: legend2项目中自己写的哪些文件操作都可以通过这里的缓存实现,简单方便 1.lavarel中如何使用后端主流的缓存如 Memcac ...

  4. 黑马lavarel教程---12、lavarel验证码

    黑马lavarel教程---12.lavarel验证码 一.总结 一句话总结: 用插件的时候仔细看插件的版本要求 1.lavarel安装验证码插件的时候,如果(可选)需要定义自己的配置,则需要生成配置 ...

  5. 黑马lavarel教程---11、响应处理

    黑马lavarel教程---11.响应处理 一.总结 一句话总结: 如果在昂扬状态,看学习视频和运动时间重合,会很舒服 1.jquery的$.post参数为什么不需要占位? 因为每个参数的类型不同,可 ...

  6. 黑马lavarel教程---10、lavarel模型关联

    黑马lavarel教程---10.lavarel模型关联 一.总结 一句话总结: 1.模型关联比较方便,一次定义,后面都可以使用 2.关联关系 使用动态属性进行调用 1.一对多,多对多实例? 一对多: ...

  7. 黑马lavarel教程---8、session

    黑马lavarel教程---8.session 一.总结 一句话总结: 1.session默认保存在文件中 2.使用的话通过Session门面或者辅助函数 1.lavarel中session的保存方式 ...

  8. 黑马lavarel教程---7、文件上传

    黑马lavarel教程---7.文件上传 一.总结 一句话总结: 在laravel里面实现文件的上传是很简单的,压根不用引入第三方的类库,作者把上传作为一个简单的http请求看待的. 1.在lavar ...

  9. 黑马lavarel教程---6、简单验证

    黑马lavarel教程---6.简单验证 一.总结 一句话总结: 1.验证的最简单实例:$request的validate方法,验证通过可以继续进行,验证失败就重定向 2.中文提示可以用中文语言包 3 ...

随机推荐

  1. js二维数组转一维数组

    方法一 利用es5的arr.reduce(callback[, initialValue])实现 var arr1 = [[0, 1], [2, 3], [4, 5]]; var arr2 = arr ...

  2. powershell查看版本信息

    在终端输入$PSVersionTable

  3. 红队基础设施建设:隐藏你的C2

    0x01 前言 待定

  4. SQL Server 2005 实现数据库同步备份 过程--结果---分析

    数据库复制:   简单来说,数据库复制就是由两台服务器,主服务器和备份服务器,主服务器修改后,备份服务器自动修改. 复制的模式有两种:推送模式和请求模式,推送模式是主服务器修改后,自动发给备份服务器, ...

  5. 3、Rsync备份服务实战

    1.Rsync基本概述 rsync是一款开源的备份工具,可以在不同主机之间进行同步,可实现全量备份与增量备份,因此非常适合用于架构集中式备份或异地备份等应用. rsync官方地址:传送门http:// ...

  6. 第十五章·Kibana深入-Dev Tools及Lucene语法

    Dev Tools介绍 Dev Tools 页面包含开发工具,您可以使用这些Dev Tools与Kibana中的数据进行交互. 原先的交互式控制台Sense,使用户方便的通过浏览器直接与Elastic ...

  7. AspectJ的表达式实例

    Joinpoints 连接点,通俗的讲就是想要横切的目标,这些目标包括方法(Method),构造器(Constructor),域(Field),异常(Exception),对象和类初始化(Object ...

  8. u-boot-2018.09 DTS上 I2C节点的解析 (转)

    这篇理下uboot上I2C总线挂载设备的整个流程. 其他总线(如SPI等)应是类同的思路. uboot 中,以max8997挂载到s3c24xx i2c总线为例, dts里面的写法如下 aliases ...

  9. 【OI学习注意事项】

    1. 必备知识 普及组必学 1.模拟算法(暴力枚举),按照题目的要求,题目怎么说就怎么做,保证时间和正确性即可. 2.搜索与回溯,主要的是\(DFS\)(深度优先搜索)和\(BFS\)(宽度优先搜索) ...

  10. Python把多行文本合并

    在引用论文时,往往格式出错,出现非常多行,这样操作非常不方便.这种方法讲多行合并之后,再处理: # 文件空格和回车键处理工具infile = r'C:\Users\SAM\Desktop\新建文本文档 ...