最近几天项目中有涉及到搜索,起初数据量少的时候,在一页的情况下是可以完全展示完全的.随着数据量多的时候.点击下一页就会出现找不到数据的问题.
关于TP的paginate用法如下:
1.在只需要参数的前提下直接paginate即可.
$dataList = db('order')->alias('o')
->field('o.id,o.order_id,o.status,o.name,o.order_name,o.create_time,o.remark')
->paginate(20);
$this->assign('dataList', $dataList);
return $this->fetch('search');
每页显示十条数据.简单粗暴我喜欢.
2.在需要携带参数的情况下.看下paginate的相关参数
手册地址贴上:https://www.kancloud.cn/manual/thinkphp5/154294
paginate用到三个参数,
第一个参数表示每页有多少数据
第二个参数表示的是简洁分页,如果为true,那么分页的就是只有上一页和下一页
第三个参数是一个数组,也就是我们想要携带的参数 这里面直接使用了助手参数 request()->param()
$dataList = db('order')->alias('o')
->field('o.id,o.order_id,o.status,o.name,o.order_name,o.create_time,o.remark')
->whereTime('o.create_time', 'between', [$startime, $stoptime])
->paginate(20,false,['query'=> request()-> param()]);
$this->assign('dataList', $dataList);
然后分页搜索就完成了.