mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-08 23:52:49 +08:00
修正模型类的getDbFields方法 改进数据库驱动类的参数绑定功能
This commit is contained in:
@@ -341,7 +341,7 @@ abstract class Driver {
|
||||
*/
|
||||
protected function parseValue($value) {
|
||||
if(is_string($value)) {
|
||||
$value = '\''.$this->escapeString($value).'\'';
|
||||
$value = strpos($value,':') === 0 ? $this->escapeString($value) : '\''.$this->escapeString($value).'\'';
|
||||
}elseif(isset($value[0]) && is_string($value[0]) && strtolower($value[0]) == 'exp'){
|
||||
$value = $this->escapeString($value[1]);
|
||||
}elseif(is_array($value)) {
|
||||
@@ -489,6 +489,8 @@ abstract class Driver {
|
||||
}else{
|
||||
$whereStr .= $key.' '.$this->comparison[strtolower($val[0])].' '.$this->parseValue($val[1]);
|
||||
}
|
||||
}elseif('bind'==strtolower($val[0])){ // 使用表达式
|
||||
$whereStr .= ' ('.$key.' = :'.$val[1].') ';
|
||||
}elseif('exp'==strtolower($val[0])){ // 使用表达式
|
||||
$whereStr .= ' ('.$key.' '.$val[1].') ';
|
||||
}elseif(preg_match('/IN/i',$val[0])){ // IN 运算
|
||||
@@ -901,7 +903,7 @@ abstract class Driver {
|
||||
Debug::remark('queryStartTime','time');
|
||||
}else{
|
||||
$this->modelSql[$this->model] = $this->queryStr;
|
||||
$this->model = '_think_';
|
||||
//$this->model = '_think_';
|
||||
// 记录操作结束时间
|
||||
Debug::remark('queryEndTime','time');
|
||||
Log::record($this->queryStr.' [ RunTime:'.Debug::getUseTime('queryStartTime','queryEndTime').'s ]','SQL');
|
||||
|
||||
@@ -637,12 +637,12 @@ class Model {
|
||||
// 记录字段类型信息
|
||||
$this->fields['_type'] = $type;
|
||||
Cache::set(md5($this->trueTableName),$this->fields);
|
||||
return array_keys($fields);
|
||||
$fields = $this->fields;
|
||||
}else{
|
||||
$this->fields = $fields;
|
||||
unset($fields['_pk'],$fields['_type']);
|
||||
return array_keys($fields);
|
||||
}
|
||||
unset($fields['_pk'],$fields['_type']);
|
||||
return $fields;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -929,6 +929,17 @@ class Model {
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 指定参数绑定
|
||||
* @access public
|
||||
* @param string $filter 指定过滤方法
|
||||
* @return Model
|
||||
*/
|
||||
public function bind($bind){
|
||||
$this->options['bind'] = $bind;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询注释
|
||||
* @access public
|
||||
|
||||
Reference in New Issue
Block a user