## 作用
使用通用数据编辑视图的时候,需要通过`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') `
- 更新日志
- 入门
- 关于豆信
- 系统安装
- 功能介绍
- 公众号对接
- 小程序对接
- 系统架构
- 数据字典
- 框架目录结构
- 插件目录结构
- 运行流程
- 插件开发
- 新建插件
- info.php
- 设计数据表
- 插件控制器
- 后台管理控制器
- 移动端控制器
- 交互响应控制器
- 接口管理控制器
- 插件模型
- 插件视图
- 发布插件
- 自定义模型
- 通用增删改查
- common_lists
- common_add
- common_edit
- common_delete
- setMetaTitle
- setSubmitType
- setModel
- setListMap
- setListSearch
- setListOrder
- setListPer
- setEditMap
- setDeleteMap
- setFindMap
- addCrumb
- addNav
- addButton
- setTip
- 函数手册
- get_addon
- get_addon_settings
- tomedia
- get_fans_info
- 小程序开发专题
- 小程序对接插件.js
- 获取插件配置
- 获取用户信息
- 更新用户资料
- 公众号开发专题
- 获取粉丝信息
- 自定义分享
- 消息上下文
- 微信支付
- 企业付款
- 发送现金红包
- 发送模板消息
- 发送客服消息
- 引入前端资源
- 限制页面仅在微信浏览器访问
- 在插件页面中引入样式文件
- 在插件中创建跳转链接
- 数据预处理
- 插件开发实例
- 聊天机器人
- 留言板
- 常见问题解答