Skip to main content
 Web开发网 » 站长学院 » Thinkphp教程

thinkphp6链式查询16

2021年11月14日6880百度已收录

16. 链式查询方法.下

本节课我们来学习链式查询方法中的 limt()、page()、order()等查询。 一.limit

1. 使用limit()方法,限制获取输出数据的个数;

Db::name('user')->limit(5)->select();

2. 分页模式,即传递两个参数,比如从第3条开始显示5条limit(2,5);

Db::name('user')->limit(2, 5)->select();

3. 实现分页,需要严格计算每页显示的条数,然后从第几条开始;

//第一页

Db::name('user')->limit(0, 5)->select(); //第二页

Db::name('user')->limit(5, 5)->select();

二.page

1. page()分页方法,优化了limit()方法,无须计算分页条数;

三.order

1. 使用order()方法,可以指定排序方式,没有指定第二参数,默认asc;

Db::name('user')->order('id', 'desc')->select();

2. 支持数组的方式,对多个字段进行排序;

Db::name('user')->order(['create_time'=>'desc', 'price'=>'asc'])->select();

3. 使用orderRaw()方法,支持排序的时候指定MySQL函数; Db::name('user')->orderRaw('FIELD(username,"樱桃小丸子") DESC')->select();

//第一页

Db::name('user')->page(1, 5)->select(); //第二页

Db::name('user')->page(2, 5)->select();

四.group

1. 使用group()方法,给性别不同的人进行price字段的总和统计;

2. 也可以进行多字段分组统计;

五.having

1. 使用group()分组之后,再使用having()进行筛选;

Db::name('user')->fieldRaw('gender, SUM(price)') ->group('gender')->select();

Db::name('user')->fieldRaw('gender, SUM(price)') ->group('gender,password')->select();

$result = Db::name('user')

->fieldRaw('gender, SUM(price)')

->group('gender')

->having('SUM(price)>600')

->select();

评论列表暂无评论
发表评论
微信