_model = new UserModel(); $this->_viewDatas['className'] = 'User'; $this->_viewPath .= strtolower($this->_viewDatas['className']); $this->_viewDatas['title'] = lang($this->_viewDatas['className'] . '.title'); $this->_viewDatas['class_icon'] = CLASS_ICONS[strtoupper($this->_viewDatas['className'])]; helper($this->_viewDatas['className']); } public function getFields(string $action = ""): array { switch ($action) { case 'insert': return ["id", "passwd", 'name', "email", "phone", "mobile", "role", "status"]; break; case 'update': return ["passwd", 'name', "email", "phone", "mobile", "role", "status"]; break; case "index": case "excel": return ["id", 'name', "email", "phone", "mobile", "role", "status", 'created_at']; break; case "view": return ["id", 'name', "email", "phone", "mobile", "role", "status", 'updated_at', 'created_at']; break; default: return []; break; } } public function getFieldFilters(): array { return ["role", "status"]; } public function getFieldBatchFilters(): array { return parent::getFieldBatchFilters(); } protected function insert_validate() { $rules = []; foreach ($this->_viewDatas['fieldRules'] as $field => $rule) { switch ($field) { case 'role': //checkbox형태로 들어오면 $fieldDatas['role']가 array이기때문에 $rules[$field . '.*'] = $rule; break; default: $rules[$field] = $rule; break; } } parent::insert_validate(); } }