【文件属性】:
文件名称:字段映射-图像目标检测技术及应用
文件大小:2.49MB
文件格式:PDF
更新时间:2021-06-04 00:04:20
ThinkPHP3.1
ThinkPHP3.1 完全开发手册
107
Data 方法也支持传入数组和对象,使用 data 方法创建的数据对象不会进行自动验证和过滤操作,请自行
处理。但在进行 add 或者 save 操作的时候,数据表中不存在的字段以及非法的数据类型(例如对象、数
组等非标量数据)是会自动过滤的,不用担心非数据表字段的写入导致 SQL 错误的问题。
6.11 字段映射
ThinkPHP 的字段映射功能可以让你在表单中隐藏真正的数据表字段,而不用担心放弃自动创建表单对象的
功能,假设我们的 User 表里面有 username 和 email 字段,我们需要映射成另外的字段,定义方式如下:
1. Class UserModel extends Model{
2. protected $_map = array(
3. 'name' =>'username', // 把表单中 name映射到数据表的 username字段
4. 'mail' =>'email', // 把表单中的 mail映射到数据表的 email字段
5. );
6. }
这样,在表单里面就可以直接使用 name 和 mail 名称作为表单数据提交了。在保存的时候会字段转换成定
义的实际数据表字段。字段映射还可以支持对主键的映射。
如果我们需要把数据库中的数据显示在表单中,并且也支持字段映射的话,需要对查询的数据进行一下处
理,处理方式是调用 Model 类的 parseFieldsMap 方法,例如:
1. // 实例化 User模型
2. $User = M('User');
3. $data = $User->find(3);
这个时候取出的 data 数据包含的是实际的 username 和 email 字段,为了方便便表单输出,我们需要处理
成字段映射显示在表单中,就需要使用下面的代码处理:
1. $data = $User->parseFieldsMap($data);