alias('a')->field([ 'a.id','a.real_name','a.nickname','a.worker_number','a.recruiting_behalf', Db::raw("SUM(CASE WHEN b.service_status = 3 THEN 1 ELSE 0 END) AS success_count"), Db::raw("SUM(CASE WHEN b.service_status = 4 OR b.service_status = 5 THEN 1 ELSE 0 END) AS fail_count"), Db::raw("SUM(b.work_total) work_total"), ]) ->leftJoin('service_work b', 'a.id = b.master_worker_id') //->where('a.left_amount', '>', 0) ->group('a.id') ->select()->toArray(); } /** * @notes 获取数量 * @return int * @author likeadmin * @date 2024/11/15 17:21 */ public function count(): int { return Db::name('master_worker')->alias('a')->field([ 'a.id','a.real_name','a.nickname','a.worker_number','a.recruiting_behalf', Db::raw("SUM(CASE WHEN b.service_status = 3 THEN 1 ELSE 0 END) AS success_count"), Db::raw("SUM(CASE WHEN b.service_status = 4 OR b.service_status = 5 THEN 1 ELSE 0 END) AS fail_count"), Db::raw("SUM(b.work_total) work_total"), ]) ->leftJoin('service_work b', 'a.id = b.master_worker_id') //->where('a.left_amount', '>', 0) ->group('a.id') ->count(); } }