diff --git a/src/Illuminate/Queue/SerializesModels.php b/src/Illuminate/Queue/SerializesModels.php index db17b98755af..430dd304e05b 100644 --- a/src/Illuminate/Queue/SerializesModels.php +++ b/src/Illuminate/Queue/SerializesModels.php @@ -32,6 +32,10 @@ public function __serialize() continue; } + if ($this->isVirtualProperty($property)) { + continue; + } + if (! $property->isInitialized($this)) { continue; } @@ -77,6 +81,10 @@ public function __unserialize(array $values) continue; } + if ($this->isVirtualProperty($property)) { + continue; + } + $name = $property->getName(); if ($property->isPrivate()) { @@ -105,4 +113,13 @@ protected function getPropertyValue(ReflectionProperty $property) { return $property->getValue($this); } + + /** + * @param \ReflectionProperty $property + * @return bool + */ + protected function isVirtualProperty(ReflectionProperty $property): bool + { + return method_exists($property, 'isVirtual') && $property->isVirtual(); + } }