Traits/Think/Model/Auto 中的属性调整

_validate 改成 validate
_auto 改成 auto

Traits/Think/Model/Relation中的_link属性改为link
This commit is contained in:
ThinkPHP
2013-04-25 15:21:01 +08:00
parent ecfe54147d
commit a6a7f8b655
2 changed files with 37 additions and 15 deletions

View File

@@ -16,8 +16,8 @@ define('VALUE_VALIDATE',2);
trait Auto { trait Auto {
protected $_validate = []; // 自动验证定义 protected $validate = []; // 自动验证定义
protected $_auto = []; // 自动完成定义 protected $auto = []; // 自动完成定义
/** /**
* 创建数据对象 但不保存到数据库 * 创建数据对象 但不保存到数据库
@@ -124,8 +124,8 @@ trait Auto {
if(!empty($this->options['auto'])) { if(!empty($this->options['auto'])) {
$_auto = $this->options['auto']; $_auto = $this->options['auto'];
unset($this->options['auto']); unset($this->options['auto']);
}elseif(!empty($this->_auto)){ }elseif(!empty($this->auto)){
$_auto = $this->_auto; $_auto = $this->auto;
} }
// 自动填充 // 自动填充
if(isset($_auto)) { if(isset($_auto)) {
@@ -174,17 +174,17 @@ trait Auto {
*/ */
protected function autoValidation($data,$type) { protected function autoValidation($data,$type) {
if(!empty($this->options['validate'])) { if(!empty($this->options['validate'])) {
$_validate = $this->options['validate']; $validate = $this->options['validate'];
unset($this->options['validate']); unset($this->options['validate']);
}elseif(!empty($this->_validate)){ }elseif(!empty($this->validate)){
$_validate = $this->_validate; $validate = $this->validate;
} }
// 属性验证 // 属性验证
if(isset($_validate)) { // 如果设置了数据自动验证则进行数据验证 if(isset($validate)) { // 如果设置了数据自动验证则进行数据验证
if($this->patchValidate) { // 重置验证错误信息 if($this->patchValidate) { // 重置验证错误信息
$this->error = []; $this->error = [];
} }
foreach($_validate as $key=>$val) { foreach($validate as $key=>$val) {
// 验证因子定义格式 // 验证因子定义格式
// array(field,rule,message,condition,type,when,params) // array(field,rule,message,condition,type,when,params)
// 判断是否需要执行验证 // 判断是否需要执行验证
@@ -337,5 +337,27 @@ trait Auto {
// 检查附加规则 // 检查附加规则
return $this->regex($value,$rule); return $this->regex($value,$rule);
} }
} }
/**
* 指定自动完成
* @access public
* @param array $auto 自动完成设置
* @return Model
*/
public function auto($auto){
$this->options['auto'] = $auto;
return $this;
}
/**
* 指定自动验证
* @access public
* @param array $validate 自动验证设置
* @return Model
*/
public function validate($auto){
$this->options['validate'] = $validate;
return $this;
}
} }

View File

@@ -18,7 +18,7 @@ define('MANY_TO_MANY',4);
trait Relation { trait Relation {
// 关联定义 // 关联定义
protected $_link = array(); protected $link = array();
/** /**
* 得到关联的数据表名 * 得到关联的数据表名
@@ -103,8 +103,8 @@ trait Relation {
* @return array * @return array
*/ */
protected function getRelation(&$result,$name='',$return=false) { protected function getRelation(&$result,$name='',$return=false) {
if(!empty($this->_link)) { if(!empty($this->link)) {
foreach($this->_link as $key=>$val) { foreach($this->link as $key=>$val) {
$mappingName = !empty($val['mapping_name'])?$val['mapping_name']:$key; // 映射名称 $mappingName = !empty($val['mapping_name'])?$val['mapping_name']:$key; // 映射名称
if(empty($name) || true === $name || $mappingName == $name || (is_array($name) && in_array($mappingName,$name))) { if(empty($name) || true === $name || $mappingName == $name || (is_array($name) && in_array($mappingName,$name))) {
$mappingType = !empty($val['mapping_type'])?$val['mapping_type']:$val; // 关联类型 $mappingType = !empty($val['mapping_type'])?$val['mapping_type']:$val; // 关联类型
@@ -207,9 +207,9 @@ trait Relation {
// 数据无效返回 // 数据无效返回
return false; return false;
} }
if(!empty($this->_link)) { if(!empty($this->link)) {
// 遍历关联定义 // 遍历关联定义
foreach($this->_link as $key=>$val) { foreach($this->link as $key=>$val) {
// 操作制定关联类型 // 操作制定关联类型
$mappingName = $val['mapping_name']?$val['mapping_name']:$key; // 映射名称 $mappingName = $val['mapping_name']?$val['mapping_name']:$key; // 映射名称
if(empty($name) || true === $name || $mappingName == $name || (is_array($name) && in_array($mappingName,$name)) ) { if(empty($name) || true === $name || $mappingName == $name || (is_array($name) && in_array($mappingName,$name)) ) {