From 324d4f9e1b0191b5fa6d06fb680a9b3de4ea281f Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 26 Aug 2016 02:26:07 +0430 Subject: [PATCH 1/3] Filling with Dot-Notation Keys Simply override `removeTableFromKey($key)` method and just return original keys in order to support dot-notation when calling `fill` on model. --- src/Jenssegers/Mongodb/Eloquent/Model.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Jenssegers/Mongodb/Eloquent/Model.php b/src/Jenssegers/Mongodb/Eloquent/Model.php index 797f1907f..bbbc2bcd8 100644 --- a/src/Jenssegers/Mongodb/Eloquent/Model.php +++ b/src/Jenssegers/Mongodb/Eloquent/Model.php @@ -535,6 +535,17 @@ protected function newBaseQueryBuilder() return new QueryBuilder($connection, $connection->getPostProcessor()); } + + /** + * We just return original key here in order to support keys in dot-notation + * + * @param string $key + * @return string + */ + protected function removeTableFromKey($key) + { + return $key; + } /** * Handle dynamic method calls into the method. From f1f58955dba44b9d164b03c686eda661b169520c Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 26 Aug 2016 02:29:35 +0430 Subject: [PATCH 2/3] Style CI --- src/Jenssegers/Mongodb/Eloquent/Model.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Jenssegers/Mongodb/Eloquent/Model.php b/src/Jenssegers/Mongodb/Eloquent/Model.php index bbbc2bcd8..22d36abed 100644 --- a/src/Jenssegers/Mongodb/Eloquent/Model.php +++ b/src/Jenssegers/Mongodb/Eloquent/Model.php @@ -537,11 +537,11 @@ protected function newBaseQueryBuilder() } /** - * We just return original key here in order to support keys in dot-notation - * - * @param string $key - * @return string - */ + * We just return original key here in order to support keys in dot-notation + * + * @param string $key + * @return string + */ protected function removeTableFromKey($key) { return $key; From c56241c53d83cdab46b900356fd4b54524075fa7 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Thu, 1 Sep 2016 02:28:01 -0700 Subject: [PATCH 3/3] Dot-Notation Fill Tests --- tests/ModelTest.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/ModelTest.php b/tests/ModelTest.php index 3faa763f7..4058f1382 100644 --- a/tests/ModelTest.php +++ b/tests/ModelTest.php @@ -486,6 +486,13 @@ public function testDotNotation() $this->assertEquals('Paris', $user->getAttribute('address.city')); $this->assertEquals('Paris', $user['address.city']); $this->assertEquals('Paris', $user->{'address.city'}); + + // Fill + $user->fill([ + 'address.city' => 'Strasbourg', + ]); + + $this->assertEquals('Strasbourg', $user['address.city']); } public function testGetDirtyDates()