diff --git a/library/think/Model.php b/library/think/Model.php index 93953f2c..4176a12d 100644 --- a/library/think/Model.php +++ b/library/think/Model.php @@ -292,7 +292,9 @@ abstract class Model implements \JsonSerializable, \ArrayAccess } // 标记字段更改 - if (!isset($this->data[$name]) || (0 !== strcmp($this->data[$name], $value) && !in_array($name, $this->change))) { + if (isset($this->data[$name]) && is_scalar($this->data[$name]) && is_scalar($value) && 0 !== strcmp($this->data[$name], $value)) { + $this->change[] = $name; + } elseif (!isset($this->data[$name]) || $value != $this->data[$name]) { $this->change[] = $name; } // 设置数据对象属性