['cs.project_id', 'cs.custom_id', 'cs.approve_id', 'cs.contacts', 'cs.phone', 'cs.date', 'cs.classification', 'cs.urgency', 'cs.receiver', 'cs.processed_admin_id', 'cs.name'], ]; } /** * @notes 获取列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2023/11/12 14:00 */ public function lists(): array { return Db::name('CustomService')->alias('cs') ->where($this->searchWhere) ->whereNull('cs.delete_time') ->leftJoin('orgs o','o.id = cs.org_id') ->leftJoin('dept d','d.id = cs.dept_id') ->field('cs.*, d.name as dept_name, o.name as org_name') ->limit($this->limitOffset, $this->limitLength) ->order(['cs.id' => 'desc']) ->select()->each(function($item, $key){ //关联数据后续添加 $project = Project::field('name,project_code')->where('id',$item['project_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id',$item['custom_id'])->findOrEmpty(); $admin = Admin::field('name')->where('id',$item['processed_admin_id'])->findOrEmpty(); $item['project_name'] = $project['name']; $item['project_code'] = $project['project_code']; $item['custom_name'] = $custom['name']; $item['processed_admin_name'] = $admin['name']; return $item; }) ->toArray(); } /** * @notes 获取数量 * @return int * @author likeadmin * @date 2023/11/12 14:00 */ public function count(): int { return Db::name('CustomService')->alias('cs') ->where($this->searchWhere) ->whereNull('cs.delete_time') ->leftJoin('orgs o','o.id = cs.org_id') ->leftJoin('dept d','d.id = cs.dept_id')->count(); } }