本文介绍了TP^6.1版本,使用封装方法实现API获取分页数据。
目录
定义变量
// 页码
$page = 1;
// 每页数据条数
$count = 5;
Limit分页
共两个参数,可选参数,至少传一个参数:
参数1:用于限制返回结果数量;
参数2:获取数据条数
实现代码如下:
// 分页起始条数
$offSet = ($page - 1) * $count;
$conn = Db::name('message');
// 聚合函数查询总数据条数 用于分页依据
$total = $conn->count();
$data = $conn->limit($offSet,$count)
->field(['*'])
->order('id','desc')
->select()->toArray();
Page分页
page方法主要用于分页查询;
有两个参数,可选参数,至少传一个参数:
参数1:页码,不需要计算每个分页数据的起始位置,page方法内部会自动计算。
参数2:每页数据条数
可单独使用,也可与limit结合使用。
单独使用page
$conn = Db::name('message');
// 聚合函数查询总数据条数 用于分页依据
$total = $conn->count();
$data = $conn->page($page, $count)
->field(['*'])
->order('id', 'desc')
->select()->toArray();
page+limit
分页使用page和limit结合使用,类似于Laravel中的skip、take。
实现代码如下:
$conn = Db::name('message');
$total = $conn->count();
$data = $conn->page($page)->limit($count)
->field(['*'])
->order('id', 'desc')
->select()->toArray();
总结:
使用page+limit不用自己定义offset,直接使用page即可返回相应页数据。