From 3038c332c08a2475b210a0a9e7b10dbb8c96401f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=91=E6=9E=97?= Date: Wed, 10 Nov 2021 11:48:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Base/Model.php | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/Base/Model.php b/src/Base/Model.php index 38484c5..c41cbe2 100644 --- a/src/Base/Model.php +++ b/src/Base/Model.php @@ -124,13 +124,13 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T * @param string $name * @param mixed $value */ - private function _setter(string $name, mixed $value): void + private function _setter(string $name, mixed $value): mixed { $method = di(Setter::class)->getSetter(static::class, $name); if (!empty($method)) { $value = $this->{$method}($value); } - $this->_attributes[$name] = $value; + return $value; } @@ -488,8 +488,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T */ public function setAttribute($name, $value): mixed { - $this->_setter($name, $value); - return $this->_attributes[$name]; + return $this->_attributes[$name] = $this->_setter($name, $value); } /** @@ -499,7 +498,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T */ public function setOldAttribute($name, $value): mixed { - return $this->_oldAttributes[$name] = $value; + return $this->_oldAttributes[$name] = $this->_setter($name, $value); } /** @@ -513,7 +512,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T return $this; } foreach ($param as $key => $value) { - $this->_setter($key, $value); + $this->_attributes[$key] = $this->_setter($key, $value); } return $this; } @@ -857,7 +856,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T if (method_exists($this, 'set' . ucfirst($name))) { $this->{'set' . ucfirst($name)}($value); } else { - $this->_setter($name, $value); + $this->_attributes[$name] = $this->_setter($name, $value); } }