栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > YurunPHP

字段映射 - YurunPHP1.0开发手册

YurunPHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

字段映射 - YurunPHP1.0开发手册


很多情况下,我们把页面表单中input的name设置为和数据表中字段名一样,方便获取和对数据库进行操作。但是这样存在一些安全隐患,为了避免字段名暴露,我们可以使用模型中的字段映射功能。
定义格式:

// 字段映射
protected $fieldsMap = array (
// '表单字段'=>'数据库字段'
);

## 映射方法
### fromForm自动映射
调用fromForm时,如果所有验证都成功,最后将会自动根据上面的定义进行映射。
### 手动执行映射
当然有时候也可以手动映射,手动把数据都set到模型中,最后执行一下映射即可。
格式:

parseFieldsMap([数据],[类型])

返回值是转换后的数据。
> 注意:转换后不会自动保存到模型中,如有需要请手动赋值:

$model->set($model->parseFieldsMap($data));


| 名称 | 描述 |
| -- | -- |
| 数据 | 要被映射数据,留空则为模型中存储的数据 |
| 类型 | 转换类型。可选值请看下表。默认为Model::TO_DB |

类型:
| 类型名 | 描述 |
| -- | -- |
| Model::TO_DB | 表单字段转数据库字段 |
| Model::TO_FORM | 数据库字段转表单字段 |

## 例子
映射定义:

protected $fieldsMap=array(
'xingming' => 'name',
'nianling' => 'age'
);

### formForm用法
获取规则定义:

protected $rules=array(
'reg'=>array(
// 都不验证直接获取
array('name'=>'xingming'),
array('name'=>'nianling'),
)
);

获取数据:

$model->fromForm('reg');

模型中数据:

array(
'name' => '宇润',
'age' => 5
)

### 手动映射用法
#### 转为数据库字段

$data1 = array(
'xingming' => '宇润',
'nianling' => '5'
);
var_dump($model->parseFieldsMap($data1,Model::TO_DB));

输出:

array (size=2)
'name' => string '宇润' (length=6)
'age' => string '5' (length=1)

#### 转为表单字段

$data2 = array(
'name' => '宇润',
'age' => '5'
);
var_dump($model->parseFieldsMap($data2,Model::TO_FORM));

输出:

array (size=2)
'xingming' => string '宇润' (length=6)
'nianling' => string '5' (length=1)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/213852.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号