1、例:计算f表中money值的和,并赋予别名(where条件:change_type=2)
field('sum(if(f.change_type=2,f.money,0)) as consume_money')
2、例:统计s表有多少条数据,并赋予别名(where条件:status=1 and audit_status=1)
field('COUNT(IF(s.status=1 and s.audit_status=1,s.id,null)) as a')
3、判断selfad_id是不是null,是null返回0,不是返回selfad_id的值
field('ifnull(dcp.selfad_id,0) as ad_play')
4、截取一个查询出来的字段的值(截取查询出来的stat_hour字段里的值 别名time)
->field('substring(stat_hour,-2) as time')
5、自定义排序(此处根据sudit_status先排序,0在前,1排第二,其他第三,然后在根据create_time进行排序)
->orderRaw('case when w.audit_status="0" THEN 1 when w.audit_status="1" THEN 2 else 3 END,w.create_time desc')
6.TP5需要同表不同字段进行比较,使用whereExp方法
Db::name('user')->whereExp('aa','>= bb')->select();