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

thinkphp中分页paginate和group by一起使用时
总查询数量不正确
原查询语句

$buildSql = $entity->order($orderStr)
            ->group('`from`,`symbol`')
            ->field('id,from,symbol,to,timestamp')
            ->distinct(true)
            ->paginate(15);

修改后:

//修改后语句
$buildSql = $entity->order($orderStr)
            ->group('`from`,`symbol`')
            ->field('id,from,symbol,to,timestamp')
            ->distinct(true)
            ->buildSql();

//查询分页后不需要进行数据处理的话
 $list=Db::table($buildSql)->alias('aa')->paginate(15);

//查询分页后并进行数据处理   use($where) 为参数条件
$list=Db::table($buildSql)->alias('aa')->paginate(15)->each(function($item, $key) use($where){
            $item['bet_num'] = db('name')->where('from',$item['from'])->where($where)->count();
            $item['timestamp'] = date('Y-m-d',$item['timestamp']);
            return $item;
        });
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从本章开始就要揭开模型的神秘面纱了,本章主要学习模型的定义和基础使用,以及和数据库操作的区别,学习内容主要包含: ...
    寒冬夜行人_51a4阅读 1,265评论 0 8
  • ThinkPHP5内置了partition方法,可用于实现简单的分表。新增,修改,删除,查询单条数据时,用part...
    木鱼大叔阅读 2,858评论 0 1
  • 2019年4月 1日,公司的项目业务调整,加了两个月的班,终于上线了,过程一路忐忑,上线前还出现了不少bug,代码...
    鸿雁长飞光不度阅读 1,396评论 0 1
  • 1、传统的网站开发模式有何局限?(ACD) A开发效率低 B适合团队协作,分工简单 C任务分工时交叉点较多,不易平...
    学习使我快乐666阅读 225评论 0 0
  • 控制器 新建控制器的定义 1/声明命名空间 app\模块\controller 2/控制器文件名首字母大写,采用驼...
    机器不能学习阅读 1,554评论 0 4