THINKPHP5.0 paginate count

问题描述

因查询量过多,TP5.0自带的paginate分页会在查询的时候执行一条count的sql,如何在model中使用paginate时指定这条sql呢

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
$paginate = config('paginate');

    $paginate['sql'] = "SELECT count(*) FROM `user`";
    config('paginate', $paginate);
    return $this->alias('u')
        ->field($field)
        ->join('vehicle v','u.user_id = v.user_id and v.is_delete = 1','left')
        ->join('ncd_user_wealth w','u.user_id = w.uid','left')
        ->where($map)
        ->group('u.user_id')
        ->order('u.user_id desc')
        ->paginate();

clipboard.png

你期待的结果是什么?实际看到的错误信息又是什么?

如何将图片中的sql,替换为SELECT count(*) FROM user去执行

阅读 1.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题