From 809401b661702fb7a44d131ee981a220fc4a5852 Mon Sep 17 00:00:00 2001 From: Dmitri Maltsev Date: Mon, 28 Dec 2015 14:43:06 +0300 Subject: [PATCH] Allow setting model attributes of array type. Consider the following code: $model = new ModelName; $model->foo = [ [ 'foo' => 'bar', 'baz' => [ 'foo' => 'bar' ] ] ]; $model->save(); Here we are setting a nested array as a model attribute. Before this commit, the code above would have saved the "foo" property as an empty array. --- src/Jenssegers/Mongodb/Model.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Jenssegers/Mongodb/Model.php b/src/Jenssegers/Mongodb/Model.php index d8bb33e5d..73383e7db 100644 --- a/src/Jenssegers/Mongodb/Model.php +++ b/src/Jenssegers/Mongodb/Model.php @@ -318,6 +318,12 @@ public function setAttribute($key, $value) return; } + + // Support nested arrays/objects + if (is_array($value)) + { + $value = json_decode(json_encode($value), false); + } parent::setAttribute($key, $value); }