|
@@ -682,12 +682,11 @@ trait SQL
|
|
|
}
|
|
|
$this->handleError(!is_string($field), '字段名必须为字符串,获取到的为'. print_r($field, true));
|
|
|
// 如果有 incr decr
|
|
|
- if(strlen($field) > 5) {
|
|
|
- $opt = substr($field, -5);
|
|
|
- if(in_array($opt, [':incr', ':decr'])) {
|
|
|
+ if(strlen($field) > 5 && strpos($field, ':') !== false) {
|
|
|
+ $opt = substr($field, strpos($field, ':'));
|
|
|
+ if(in_array($opt, array(':incr', ':decr', ':plus', ':minus'))) {
|
|
|
$field = $this->formatField(substr($field, 0, -5));
|
|
|
-
|
|
|
- if($opt == ':incr') {
|
|
|
+ if(in_array($opt, array(':incr', ':plus'))) {
|
|
|
$val = $this->handleFieldAlias($field) .'='. $this->handleFieldAlias($field) .'+'. $value;
|
|
|
}else{
|
|
|
$val = $this->handleFieldAlias($field) .'='. $this->handleFieldAlias($field) .'-'. $value;
|