From ac8bd0829ecbb1b7313937cc64624a1a0340656c Mon Sep 17 00:00:00 2001 From: Jelle Sebreghts Date: Mon, 11 Jun 2012 20:00:46 +0200 Subject: [PATCH] Fix for https://github.com/laravel/laravel/issues/789 --- laravel/database/eloquent/model.php | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/laravel/database/eloquent/model.php b/laravel/database/eloquent/model.php index 2c28b8f9..2ad1c72b 100644 --- a/laravel/database/eloquent/model.php +++ b/laravel/database/eloquent/model.php @@ -253,7 +253,27 @@ public static function all() */ public function _with($includes) { - $this->includes = (array) $includes; + $includes = (array) $includes; + + $all_includes = array(); + + foreach($includes as $include) + { + $nested = explode('.', $include); + + $inc = array(); + + foreach($nested as $relation) + { + $inc[] = $relation; + + $all_includes[] = implode('.', $inc); + } + + } + + //remove duplicates and reset the array keys. + $this->includes = array_values(array_unique($all_includes)); return $this; }