'使用条款', '2' => '隐私政策', ]; /** * Protocol模型对象 * @var \app\admin\model\Protocol */ protected $model = null; public function _initialize() { parent::_initialize(); $this->model = new \app\admin\model\Protocol; } /** * 查看 */ public function index() { //设置过滤方法 $this->request->filter(['strip_tags', 'trim']); if ($this->request->isAjax()) { //如果发送的来源是Selectpage,则转发到Selectpage if ($this->request->request('keyField')) { return $this->selectpage(); } list($where, $sort, $order, $offset, $limit) = $this->buildparams(); $list = $this->model ->where($where) ->order($sort, $order) ->paginate($limit); foreach($list as &$item) { $item['url'] = addHost('/protocol/index/privacy/t/').$item['type']; $item['type'] = self::TYPES[$item['type']]; } $result = array("total" => $list->total(), "rows" => $list->items()); return json($result); } return $this->view->fetch(); } /** * 添加 */ public function add(): string { if ($this->request->isPost()) { $params = $this->request->post("row/a"); if ($params) { $params = $this->preExcludeFields($params); //查询相同类型的是否存在 $one = $this->model->where('type', $params['type'])->count(); if($one) $this->error('同类型协议已存在'); $result = false; Db::startTrans(); try { $result = $this->model->allowField(true)->save($params); Db::commit(); } catch (ValidateException | PDOException | Exception $e) { Db::rollback(); $this->error($e->getMessage()); } if ($result !== false) { $this->success(); } else { $this->error(__('No rows were inserted')); } } $this->error(__('Parameter %s can not be empty', '')); } return $this->view->fetch(); } }