diff --git a/src/Illuminate/Database/Eloquent/Model.php b/src/Illuminate/Database/Eloquent/Model.php index 90260a57ca32..f8a609fc014b 100644 --- a/src/Illuminate/Database/Eloquent/Model.php +++ b/src/Illuminate/Database/Eloquent/Model.php @@ -2595,7 +2595,17 @@ public function __sleep() $this->relationAutoloadCallback = null; $this->relationAutoloadContext = null; - return array_keys(get_object_vars($this)); + $keys = get_object_vars($this); + + if (version_compare(PHP_VERSION, '8.4.0') >= 0) { + foreach ((new ReflectionClass($this))->getProperties() as $property) { + if ($property->hasHooks()) { + unset($keys[$property->getName()]); + } + } + } + + return array_keys($keys); } /**