tinkphp中字段映射
2014-02-17 10:42
267 查看
字段映射
如果字段名称与提交上来的表单名称相同的话则不需要映射,强制映射则会出现数据不能插入
用parseFieldsMap函数处理查询数来的数据,实例化的对象必须用D,因为$_Map这个是自己定义在模型中的。
ThinkPHP的字段映射功能可以让你在表单中隐藏真正的数据表字段,而不用担心放弃自动创建表单对象的功能,假设我们的User表里面有username和email字段,我们需要映射成另外的字段,定义方式如下:
Class UserModel extends Model{
protected $_map = array(
'name' =>'username', //
把表单中name映射到数据表的username字段
'mail' =>'email', //
把表单中的mail映射到数据表的email字段
);
}
这样,在表单里面就可以直接使用name和mail名称作为表单数据提交了。在保存的时候会字段转换成定义的实际数据表字段。字段映射还可以支持对主键的映射。
如果我们需要把数据库中的数据显示在表单中,并且也支持字段映射的话,需要对查询的数据进行一下处理,处理方式是调用Model类的parseFieldsMap方法,例如:
// 实例化User模型
$User = M('User');
$data = $User->find(3);
这个时候取出的data数据包含的是实际的username和email字段,为了方便便表单输出,我们需要处理成字段映射显示在表单中,就需要使用下面的代码处理:
$data =
$User->parseFieldsMap($data);
这样一来,data数据中就包含了name和mail字段数据了,而不再有username和email字段数据了。
如果字段名称与提交上来的表单名称相同的话则不需要映射,强制映射则会出现数据不能插入
用parseFieldsMap函数处理查询数来的数据,实例化的对象必须用D,因为$_Map这个是自己定义在模型中的。
ThinkPHP的字段映射功能可以让你在表单中隐藏真正的数据表字段,而不用担心放弃自动创建表单对象的功能,假设我们的User表里面有username和email字段,我们需要映射成另外的字段,定义方式如下:
Class UserModel extends Model{
protected $_map = array(
'name' =>'username', //
把表单中name映射到数据表的username字段
'mail' =>'email', //
把表单中的mail映射到数据表的email字段
);
}
这样,在表单里面就可以直接使用name和mail名称作为表单数据提交了。在保存的时候会字段转换成定义的实际数据表字段。字段映射还可以支持对主键的映射。
如果我们需要把数据库中的数据显示在表单中,并且也支持字段映射的话,需要对查询的数据进行一下处理,处理方式是调用Model类的parseFieldsMap方法,例如:
// 实例化User模型
$User = M('User');
$data = $User->find(3);
这个时候取出的data数据包含的是实际的username和email字段,为了方便便表单输出,我们需要处理成字段映射显示在表单中,就需要使用下面的代码处理:
$data =
$User->parseFieldsMap($data);
这样一来,data数据中就包含了name和mail字段数据了,而不再有username和email字段数据了。
相关文章推荐
- winform 映射字段的写法:
- spring data jpa 实体类中字段不与数据库表映射
- JPA之大数据字段映射与字段延迟加载
- hibernate映射类中通过@Transient可能标注一个属性不是数据库的字段
- hibernate的映射文件字段长度和数据库里面的字段长度
- 让你的实体字段和页面上的控件映射,自动绑定 -- ObjectBinding1.0
- thinkphp 字段映射
- hibernate 实体字段不映射到数据库
- 关于ThinkPHP字段映射parseFieldsMap
- MyBatis关联查询,表字段相同,resultMap映射问题的解决办法
- 如何修改RubyOnRails中ActiveRecord默认的表格名和外键字段映射关系?
- DBUtils – BeanProcessor扩展,支持自定义字段映射
- NHibernate 映射 SqlServer 中 Image 字段
- Hibernate、JPA 映射字段问题[ImprovedNamingStrategy]
- Dapper中数据表的字段(列)与实体属性不一致时,如何手动配置它们之间的映射?
- myBatis配置实现数据库字段下划线映射到java对象的驼峰式命名属性
- 数据映射字段业务规则:FieldRuleAttribute
- otl + mysql 查询时映射字段
- NBearMapping - 开源通用对象映射组件v1.0.0.2 beta - 支持枚举类型字段
- JPA关系映射系列五:many-to-many 关联表存在额外字段关系映射