如何 paginate 分页后, 根据指定循环组装的 字段 进行排序,且保持分页效果?
$companies = $builder->paginate();
foreach ($companies as $company) {
// 注册人数
$company['register_count'] = User::query()->where('company_id', $company->id)->count();
// 培训人数
$company['train_count'] = CourseLearnRecord::query()->where('company_id', $company->id)
->groupBy('user_id')->get(['user_id'])->count();
// 考核人数
$company['check_count'] = UserExam::query()->where('company_id',
$company->id)->whereNull('spot_check_id')
->groupBy('user_id')->get(['user_id'])->count();
}
现在想 根据 循环组装的register_count 排序, 且保持分页的效果。
paginate() 分页后, $companies->sortByDesc(‘register_count’)->values() , sortByDesc 似乎没有效果, 且分页数据丢失。
推荐文章: