美文网首页
thinkphp中分页paginate和group by一起使用

thinkphp中分页paginate和group by一起使用

作者: 配角_2763 | 来源:发表于2022-06-20 10:45 被阅读0次

    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;
            });
    

    相关文章

      网友评论

          本文标题:thinkphp中分页paginate和group by一起使用

          本文链接:https://www.haomeiwen.com/subject/jqtjvrtx.html