column('work_id'); if(empty($workIds)){ return []; } $startDateTime = strtotime(date('Y-m-01')); if(isset($this->params['start_month']) && $this->params['start_month']){ $startDateTime = strtotime($this->params['start_month']); } $endDateTime = strtotime('+1 month', strtotime($startDateTime))-1; // with(['propertyHead'])-> $serviceWork = ServiceWork::with(['propertyHead'])->where([['id','in',$workIds],['work_pay_status','=',2],['approval','=',1]]) //->where('finished_time','BETWEEN',[$startDateTime,$endDateTime]) ->where('finished_time','>',0) ->where('user_id','>',0) ->field(Db::raw('user_id,DATE_FORMAT(FROM_UNIXTIME(finished_time), "%Y-%m") AS month_format,COUNT(id) as month_num, SUM(work_amount) as month_amount')) ->group('user_id,month_format') ->select()->toArray(); return $serviceWork; } /** * @notes 获取数量 * @return int * @author likeadmin * @date 2024/09/19 14:48 */ public function count(): int { return ServiceWork::where($this->searchWhere)->where($this->queryWhere())->count(); } }