From f78d63a582b4c5074331010046483b2bc71ec821 Mon Sep 17 00:00:00 2001 From: Tom Irons Date: Tue, 9 Mar 2021 10:36:19 -0500 Subject: [PATCH 1/5] Update AsArrayObject.php --- src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php b/src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php index 8d950e2daff4..e1cab4d705b4 100644 --- a/src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php +++ b/src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php @@ -18,7 +18,7 @@ public static function castUsing(array $arguments) return new class implements CastsAttributes { public function get($model, $key, $value, $attributes) { - return new ArrayObject(json_decode($attributes[$key], true)); + return new ArrayObject(isset($attributes[$key]) ? json_decode($attributes[$key], true) : []); } public function set($model, $key, $value, $attributes) From bd83cb25b214a72f4cb493699ffc9f1af3607773 Mon Sep 17 00:00:00 2001 From: Tom Irons Date: Tue, 9 Mar 2021 10:37:26 -0500 Subject: [PATCH 2/5] Update AsCollection.php --- src/Illuminate/Database/Eloquent/Casts/AsCollection.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Illuminate/Database/Eloquent/Casts/AsCollection.php b/src/Illuminate/Database/Eloquent/Casts/AsCollection.php index e96834f6e4d3..5a5b5e38cab7 100644 --- a/src/Illuminate/Database/Eloquent/Casts/AsCollection.php +++ b/src/Illuminate/Database/Eloquent/Casts/AsCollection.php @@ -19,7 +19,7 @@ public static function castUsing(array $arguments) return new class implements CastsAttributes { public function get($model, $key, $value, $attributes) { - return new Collection(json_decode($attributes[$key], true)); + return new Collection(isset($attributes[$key]) ? json_decode($attributes[$key], true) : []); } public function set($model, $key, $value, $attributes) From ca77b4ef651cd30c4d6502c93d6ca0b4308d2431 Mon Sep 17 00:00:00 2001 From: Tom Irons Date: Tue, 9 Mar 2021 11:22:47 -0500 Subject: [PATCH 3/5] return null --- src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php b/src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php index e1cab4d705b4..aae7ec4dbfd4 100644 --- a/src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php +++ b/src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php @@ -17,8 +17,8 @@ public static function castUsing(array $arguments) { return new class implements CastsAttributes { public function get($model, $key, $value, $attributes) - { - return new ArrayObject(isset($attributes[$key]) ? json_decode($attributes[$key], true) : []); + { + return isset($attributes[$key]) ? new ArrayObject(json_decode($attributes[$key], true)) : null; } public function set($model, $key, $value, $attributes) From 7842a65ca8551714565fb03cea226bb56786d8cb Mon Sep 17 00:00:00 2001 From: Tom Irons Date: Tue, 9 Mar 2021 11:23:35 -0500 Subject: [PATCH 4/5] return null --- src/Illuminate/Database/Eloquent/Casts/AsCollection.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Illuminate/Database/Eloquent/Casts/AsCollection.php b/src/Illuminate/Database/Eloquent/Casts/AsCollection.php index 5a5b5e38cab7..c2d567b504f7 100644 --- a/src/Illuminate/Database/Eloquent/Casts/AsCollection.php +++ b/src/Illuminate/Database/Eloquent/Casts/AsCollection.php @@ -19,7 +19,7 @@ public static function castUsing(array $arguments) return new class implements CastsAttributes { public function get($model, $key, $value, $attributes) { - return new Collection(isset($attributes[$key]) ? json_decode($attributes[$key], true) : []); + return isset($attributes[$key]) ? new Collection(json_decode($attributes[$key], true)) : null; } public function set($model, $key, $value, $attributes) From f8bf7b2314b5b0cd1da08794a2f6078ff87d3d5b Mon Sep 17 00:00:00 2001 From: Tom Irons Date: Tue, 9 Mar 2021 11:23:53 -0500 Subject: [PATCH 5/5] formatting --- src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php b/src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php index aae7ec4dbfd4..a939e8acdbdb 100644 --- a/src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php +++ b/src/Illuminate/Database/Eloquent/Casts/AsArrayObject.php @@ -17,7 +17,7 @@ public static function castUsing(array $arguments) { return new class implements CastsAttributes { public function get($model, $key, $value, $attributes) - { + { return isset($attributes[$key]) ? new ArrayObject(json_decode($attributes[$key], true)) : null; }