ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 作用 使用通用数据编辑视图的时候,需要通过`setEditMap`设置数据的保存条件。下例所示通过`setEditMap(array('id'=>I('get.id')))`设置根据当前的角色id对编辑后的角色数据进行保存。 ## 示例 ![](https://box.kancloud.cn/b6df5da6098bb779b7422d7765c956b4_1281x676.png) ## 视图类实现 ``` /** * 编辑角色 * @author 艾逗笔<765532665@qq.com> */ public function edit() { $this->addCrumb('系统管理', U('Index/index'), '') ->addCrumb('角色管理', U('Role/lists'), '') ->addCrumb('编辑角色', '', 'active') ->addNav('编辑角色', '', 'active') ->setModel('rbac_role') ->addFormField('name', '角色名称', 'text', array('placeholder'=>'管理员')) ->addFormField('remark', '角色描述', 'textarea') ->addFormField('type', '角色类型', 'radio', array('options'=>array('system_manager'=>'系统管理员','admin_manager'=>'后台管理员','mp_manager'=>'公众号管理员'),'tip'=>'在没有设置角色访问授权的前提下,角色类型起作用。系统管理员可以进入系统后台和公众号管理后台,后台管理员仅能进入系统后台,公众号管理员仅能进入公众号管理后台')) ->addFormField('status', '状态', 'radio', array('options'=>array(0=>'禁用',1=>'正常'))) ->addValidate('name', 'require', '角色名称不能为空', 1, 'regex', 3) ->setFormData(M('rbac_role')->find(I('id'))) ->setEditMap(array('id'=>I('get.id'))) ->common_edit(); } ``` ## 模型实现 ``` $model['edit_map'] = array('id'=>I('get.id')); ``` >[warning] 在使用通用数据编辑模板保存数据的时候必须要指定edit_model,否则数据将不会保存成功。如果edit_map的条件中需要用到当前浏览器传递的参数的时候,必须要指定参数获取方式,例如此例必须要用`I('get.id')`而不能用`I('id') `