model = new \app\admin\model\weixin\Reply; $this->view->assign("typeList", $this->model->getTypeList()); } /** * 查看 */ public function index() { $row = $this->model->where(['key' => 'default'])->find(); if (!$row) { $params['key'] = 'default'; $params['type'] = 'text'; $this->model->allowField(true)->save($params); $row = $this->model->get($this->model->id); } if (!$row) { $this->error(__('No Results were found')); } $adminIds = $this->getDataLimitAdminIds(); if (is_array($adminIds)) { if (!in_array($row[$this->dataLimitField], $adminIds)) { $this->error(__('You have no permission')); } } if ($this->request->isPost()) { $params = $this->request->post("row/a"); if ($params) { $params = method_exists($this, 'preExcludeFields') ? $this->preExcludeFields($params) : $params; $result = false; Db::startTrans(); try { $method = 'tidy' . ucfirst($params['type']); $params['data'] = $row->$method($params['data'], $params['type']); //是否采用模型验证 if ($this->modelValidate) { $name = str_replace("\\model\\", "\\validate\\", get_class($this->model)); $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.edit' : $name) : $this->modelValidate; $row->validateFailException(true)->validate($validate); } $result = $row->allowField(true)->save($params); Db::commit(); } catch (ValidateException $e) { Db::rollback(); $this->error($e->getMessage()); } catch (PDOException $e) { Db::rollback(); $this->error($e->getMessage()); } catch (Exception $e) { Db::rollback(); $this->error($e->getMessage()); } if ($result !== false) { $this->success(); } else { $this->error(__('No rows were updated')); } } $this->error(__('Parameter %s can not be empty', '')); } $this->view->assign("row", $row); $this->view->assign("data", json_decode($row['data'], true)); return $this->view->fetch(); } }