关于 groupBy 分组查询的分页处理
如例,表user_has_cards设计如下
字段 | 说明 |
---|---|
id | 自增 |
user_id | 用户id |
card_id | 字卡id |
number | 字卡数量 |
需显示用户列表
groupBy
查询下,常规的paginate
函数也无法使用
自己的解决方法记录如下
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Facades\DB;
use App\Models\UserHasCard;
...
$page = 1;//当前页
$pageSize = 10;
$model = UserHasCard::groupBy('user_id');
$count = DB::table($model)->count();
$data = $model->limit($pageSize)->offset(($page-1)*$pageSize)->get();
$list = new LengthAwarePaginator($data,$count,$pageSize,$page);
...
举例比较随意,请不要在意。重点在于groupBy查询的分页处理
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: