'input', 'name' => 'name', 'title' => '姓名', 'where' => ['name', 'like', '%%%s%%'] ], [ 'type' => 'input', 'name' => 'team_id', 'title' => '协作单位id', 'where' => '%d' ], ]; public function index($request) { $param = $request->all(); $isPage = $param['isPage'] ?? true; $limit = $param['limit'] ?? 20; $where = []; foreach ($this->search as $search) { if (isset($param[$search['name']]) && !empty($param[$search['name']])) { if (is_array($search['where'])) { if (is_array($param[$search['name']])) { $search['where'][2] = $param[$search['name']]; } else { $search['where'][2] = sprintf($search['where'][2], $param[$search['name']]); } $where[$search['name']] = $search['where']; } else { $where[$search['name']] = sprintf($search['where'], $param[$search['name']]); } } } $model = new Collaborator(); if ($isPage) { $list = $model->getPaginateList($where, ['*'], ['id' => 'desc'], [], $limit); } else { $list = $model->getAllList($where, ['*'], ['id' => 'desc'], []); } return $list; } }