This commit is contained in:
thinkphp
2017-12-12 16:10:18 +08:00
2 changed files with 16 additions and 6 deletions

View File

@@ -110,8 +110,18 @@ abstract class Builder
} }
} elseif (is_null($val)) { } elseif (is_null($val)) {
$result[$item] = 'NULL'; $result[$item] = 'NULL';
} elseif (isset($val[0]) && 'exp' == $val[0]) { } elseif (is_array($val)) {
$result[$item] = $val[1]; switch ($val[0]) {
case 'exp':
$result[$item] = $val[1];
break;
case 'inc':
$result[$item] = $this->parseKey($val[1]) . '+' . $val[2];
break;
case 'dec':
$result[$item] = $this->parseKey($val[1]) . '-' . $val[2];
break;
}
} elseif (is_scalar($val)) { } elseif (is_scalar($val)) {
// 过滤非标量数据 // 过滤非标量数据
if (0 === strpos($val, ':') && $this->query->isBind(substr($val, 1))) { if (0 === strpos($val, ':') && $this->query->isBind(substr($val, 1))) {

View File

@@ -607,7 +607,7 @@ class Query
return true; return true;
} }
} }
return $this->setField($field, ['exp', $field . '+' . $step]); return $this->setField($field, ['inc', $field, $step]);
} }
/** /**
@@ -636,7 +636,7 @@ class Query
return true; return true;
} }
} }
return $this->setField($field, ['exp', $field . '-' . $step]); return $this->setField($field, ['dec', $field, $step]);
} }
/** /**
@@ -829,7 +829,7 @@ class Query
{ {
$fields = is_string($field) ? explode(',', $field) : $field; $fields = is_string($field) ? explode(',', $field) : $field;
foreach ($fields as $field) { foreach ($fields as $field) {
$this->data($field, ['exp', $field . '+' . $step]); $this->data($field, ['inc', $field, $step]);
} }
return $this; return $this;
} }
@@ -845,7 +845,7 @@ class Query
{ {
$fields = is_string($field) ? explode(',', $field) : $field; $fields = is_string($field) ? explode(',', $field) : $field;
foreach ($fields as $field) { foreach ($fields as $field) {
$this->data($field, ['exp', $field . '-' . $step]); $this->data($field, ['dec', $field, $step]);
} }
return $this; return $this;
} }