thinkphp中分页paginate和group by一起使用时 总记录数和分页代码异常

thinkphp中分页paginate和group by一起使用时 总记录数和分页代码异常

tp中使用paginate时会使用Db里面的count函数来统计数据总行数。

count函数则会使用count(当前查询的所有字段)  limit 1 进行查询

当没使用group by时查询正常,当使用了group by时count统计的是分组后的每行的数量

然后limit 1返回第一行的统计值 所以会出现总行数不对的情况

解决办法

原语句

$list=Db::name(‘sms_log’)->field(‘mobile’)->group(‘mobile’)->paginate(10);//此时总页数和分页的html异常

修改后

$buildSql=Db::name(‘sms_log’)->field(‘mobile’)->group(‘mobile’)->buildSql();

$list=Db::table($buildSql)->alias(‘bs’)->paginate(10);//总页数和分页的html正确.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值