黑马lavarel教程---13、分页
黑马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、分页的更多相关文章
- 黑马lavarel教程---5、模型操作(AR模式)
黑马lavarel教程---5.模型操作(AR模式) 一.总结 一句话总结: AR: ActiveRecord :Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型 ...
- 黑马lavarel教程---1、lavarel目录结构
黑马lavarel教程---1.lavarel目录结构 一.总结 一句话总结: 一套视频讲的东西太少,要看多套视频 1.安装lavarel需要额外开启的模块? extension=php_filein ...
- 黑马lavarel教程---9、缓存操作
黑马lavarel教程---9.缓存操作 一.总结 一句话总结: legend2项目中自己写的哪些文件操作都可以通过这里的缓存实现,简单方便 1.lavarel中如何使用后端主流的缓存如 Memcac ...
- 黑马lavarel教程---12、lavarel验证码
黑马lavarel教程---12.lavarel验证码 一.总结 一句话总结: 用插件的时候仔细看插件的版本要求 1.lavarel安装验证码插件的时候,如果(可选)需要定义自己的配置,则需要生成配置 ...
- 黑马lavarel教程---11、响应处理
黑马lavarel教程---11.响应处理 一.总结 一句话总结: 如果在昂扬状态,看学习视频和运动时间重合,会很舒服 1.jquery的$.post参数为什么不需要占位? 因为每个参数的类型不同,可 ...
- 黑马lavarel教程---10、lavarel模型关联
黑马lavarel教程---10.lavarel模型关联 一.总结 一句话总结: 1.模型关联比较方便,一次定义,后面都可以使用 2.关联关系 使用动态属性进行调用 1.一对多,多对多实例? 一对多: ...
- 黑马lavarel教程---8、session
黑马lavarel教程---8.session 一.总结 一句话总结: 1.session默认保存在文件中 2.使用的话通过Session门面或者辅助函数 1.lavarel中session的保存方式 ...
- 黑马lavarel教程---7、文件上传
黑马lavarel教程---7.文件上传 一.总结 一句话总结: 在laravel里面实现文件的上传是很简单的,压根不用引入第三方的类库,作者把上传作为一个简单的http请求看待的. 1.在lavar ...
- 黑马lavarel教程---6、简单验证
黑马lavarel教程---6.简单验证 一.总结 一句话总结: 1.验证的最简单实例:$request的validate方法,验证通过可以继续进行,验证失败就重定向 2.中文提示可以用中文语言包 3 ...
随机推荐
- vue进阶:vue-router(vue路由)的安装与基本使用
vue路由安装与基本使用 vue嵌套路由 vue动态路由(路由组件传参) vue路由重定向和一些其他的路由相关 官方手册:https://router.vuejs.org/zh/ 一.vue路由安装与 ...
- vue项目中实现图片懒加载的方法
对于图片过多的页面,为了加速页面加载速度,所以很多时候我们需要将页面内未出现在可视区域内的图片先不做加载, 等到滚动到可视区域后再去加载.这样子对于页面加载性能上会有很大的提升,也提高了用户体验. 实 ...
- 3 java 笔记
1 垃圾回收机制能够很好地提高编程效率 2 垃圾回机制保护程序的完成性 3 面向对象的三种基本特征:继承,封装,多态 4 面向对象的方式:OOA(面向对象的分析),OOD(面向对象的设计)和OOP(面 ...
- 使用PyQt5自制文件查找工具,并生成EXE文件
一.工作中,有一个关键词查找工作,查找开发版本中使用的文本,有哪些词语是非法的,一个一个去查太累了,所以想到了用代码来实现.可后来想想,能否做成简单的小工具,大家都可以使用. 于是就着手编写工具.原来 ...
- python之字典一
字典的定义: 前面我们说过列表,它适合于将值组织到一个结构中并且通过编号对其进行引用.字典则是通过名字来引用值的数据结构,并且把这种数据结构称为映射,字典中的值没有特殊的顺序,都存储在一个特定的键(k ...
- beego注解路由的格式
原文: https://blog.csdn.net/weixin_33743880/article/details/88016192 beego注解路由的注释,我们可以把我们的注释分为以下类别: @T ...
- 《python解释器源码剖析》第5章--python中的tuple对象
5.0 序 我们知道对于tuple,就相当于不支持元素添加.修改.删除等操作的list 5.1 PyTupleObject对象 tuple的实现机制非常简单,可以看做是在list的基础上删除了增删改等 ...
- python常用模块:sys、os、path、setting、random、shutil
今日内容讲了3个常用模块 一.sys模块二.os模块三.os下path模块四.random模块五.shutil模块 一.sys模块 import sys #环境变量 print(sys.path) # ...
- 内核模式构造-Mutex构造(RecursiveAutoResetEvent)
internal sealed class RecursiveAutoResetEvent : IDisposable { private AutoResetEvent m_lock = new Au ...
- luogu1261 服务器储存信息问题[最短路]
首先$O(n^2\log n)$暴力很好想,直接每个点出发跑一遍最短路,排$dis$统计一下即可.考虑怎么优化.发现$rank$很小,考虑从$rank$入手.换一种统计方法,看每个点$x$如果作为别的 ...