1. 云栖社区>
  2. PHP教程>
  3. 正文

phalcon在model中设置白名单whitelist

作者:用户 来源:互联网 时间:2017-12-01 13:21:57

设置modelphalconwhitelist

phalcon在model中设置白名单whitelist - 摘要: 本文讲的是phalcon在model中设置白名单whitelist, 有3种方法:1. 在model中设置skip方法,设置跳过的字段,剩下的就是白名单啦,缺点是整个模型全局设置:```public function initialize(){ // Skips fields/columns on both


有3种方法:
1. 在model中设置skip方法,设置跳过的字段,剩下的就是白名单啦,缺点是整个模型全局设置:
```
public function initialize()
{
// Skips fields/columns on both INSERT/UPDATE operations
$this->skipAttributes(
array(
'year',
'price'
)
);
}
```
2. 在save的时候加上第二参数(白名单),确定是只可以设置白名单,无法设置数组和字段之间的映射关系
public boolean save ([array $data], [array $whiteList]):
```
$robot->save($_POST, ['title', 'name'])
```
3. 给model实例执行一个assign方法,即可设置数组映射,又可以设置白名单,缺点是还需要执行save
```
$robot->assign($_POST, null, ['title', 'name']);
```
assign说明:
public Phalcon/Mvc/Model assign (array $data, [mixed $dataColumnMap], [array $whiteList])
```
<?php
$robot->assign(array(
'type' => 'mechanical',
'name' => 'Astro Boy',
'year' => 1952
));
//assign by db row, column map needed
$robot->assign($dbRow, array(
'db_type' => 'type',
'db_name' => 'name',
'db_year' => 'year'
));
//allow assign only name and year
$robot->assign($_POST, null, array('name', 'year');
```
总结:
**skip**:模型全局设置
**save**:只能设置白名单,无法设置数组和字段映射
**assign**:即可设置白名单又可以字段映射,专业处理的函数

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索设置 , model , , phalcon whitelist ,以便于您获取更多的相关知识。