['type'], '='=>['check_status'] ]; } public function queryWhere() { $where = []; // $where[] = ['check_admin_ids', '=', $this->adminId]; // todo 放开过滤条件,只有片区经理才能查看 return $where; } public function lists(): array { return Approve::where($this->searchWhere) ->where($this->queryWhere()) ->with('task') ->field('*') ->append(['area_manager', 'company_name'], true) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select() ->withAttr('area_manager',function($value,$data){ return Admin::where(['id' => $data['check_admin_ids']])->value('name'); }) ->withAttr('company_name',function($value,$data){ $task = Task::where('id', $data['task_id'])->find(); return Company::where(['id' => $task['company_id']])->value('company_name'); }) ->toArray(); } public function lists2(): array { $list = Approve::where($this->searchWhere) ->where($this->queryWhere()) ->with('task') ->field('*') ->append(['area_manager', 'company_name'], true) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select() ->withAttr('area_manager',function($value,$data){ return Admin::where(['id' => $data['check_admin_ids']])->value('name'); }) ->withAttr('company_name',function($value,$data){ $extend = json_decode($data['extend'], true); $company = Db::query("select * from la_company where FIND_IN_SET(:street,responsible_area)", ['street'=>$extend['street']], true); return $company[0]['company_name']; }) ->toArray(); $count = Approve::where($this->searchWhere) ->where($this->queryWhere())->count(); return [ 'lists' => $list, 'count' => $count, 'page_no' => $this->pageNo, 'page_size' => $this->pageSize, ]; } public function count(): int { return Approve::where($this->searchWhere)->count(); } }