buildQuery($dbQuery); $field = $field ?: ($query->getPk() ?: 'id'); $value = $data[$field] ?? input($field); if ($this->app->request->isGet()) { if ($value !== null) { $find = $query->where([$field => $value])->where($where)->find(); if (!empty($find) && is_array($find)) $data = array_merge($data, $find); } if (false !== $this->class->callback('_form_filter', $data)) { $this->class->fetch($template, ['vo' => $data]); } else { return $data; } } elseif ($this->app->request->isPost()) { $data = array_merge($this->app->request->post(), $data); if (false !== $this->class->callback('_form_filter', $data, $where)) { $result = data_save($query, $data, $field, $where) !== false; if (false !== $this->class->callback('_form_result', $result, $data)) { if ($result !== false) { $this->class->success(lang('think_library_form_success')); } else { $this->class->error(lang('think_library_form_error')); } } return $result; } } } }