From aeeb010e0a9d9f8cd3164be255cc2e72513327c5 Mon Sep 17 00:00:00 2001 From: Koen Schmeets Date: Sat, 16 Jun 2012 17:52:07 +0200 Subject: [PATCH] Fixing reference issue in relationship matching --- laravel/database/eloquent/relationships/belongs_to.php | 2 +- laravel/database/eloquent/relationships/has_many.php | 2 +- .../database/eloquent/relationships/has_many_and_belongs_to.php | 2 +- laravel/database/eloquent/relationships/has_one.php | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/laravel/database/eloquent/relationships/belongs_to.php b/laravel/database/eloquent/relationships/belongs_to.php index 6ec8acdf..ef257836 100644 --- a/laravel/database/eloquent/relationships/belongs_to.php +++ b/laravel/database/eloquent/relationships/belongs_to.php @@ -89,7 +89,7 @@ public function match($relationship, &$children, $parents) foreach ($children as &$child) { - $parent = array_first($parents, function($k, $v) use ($child, $foreign) + $parent = array_first($parents, function($k, $v) use (&$child, $foreign) { return $v->get_key() == $child->$foreign; }); diff --git a/laravel/database/eloquent/relationships/has_many.php b/laravel/database/eloquent/relationships/has_many.php index 92a9e49b..726bef20 100644 --- a/laravel/database/eloquent/relationships/has_many.php +++ b/laravel/database/eloquent/relationships/has_many.php @@ -93,7 +93,7 @@ public function match($relationship, &$parents, $children) foreach ($parents as &$parent) { - $matching = array_filter($children, function($v) use ($parent, $foreign) + $matching = array_filter($children, function($v) use (&$parent, $foreign) { return $v->$foreign == $parent->get_key(); }); diff --git a/laravel/database/eloquent/relationships/has_many_and_belongs_to.php b/laravel/database/eloquent/relationships/has_many_and_belongs_to.php index 587e504c..52276a5f 100644 --- a/laravel/database/eloquent/relationships/has_many_and_belongs_to.php +++ b/laravel/database/eloquent/relationships/has_many_and_belongs_to.php @@ -327,7 +327,7 @@ public function match($relationship, &$parents, $children) foreach ($parents as &$parent) { - $matching = array_filter($children, function($v) use ($parent, $foreign) + $matching = array_filter($children, function($v) use (&$parent, $foreign) { return $v->pivot->$foreign == $parent->get_key(); }); diff --git a/laravel/database/eloquent/relationships/has_one.php b/laravel/database/eloquent/relationships/has_one.php index 7addabb0..8d1e4ff9 100644 --- a/laravel/database/eloquent/relationships/has_one.php +++ b/laravel/database/eloquent/relationships/has_one.php @@ -40,7 +40,7 @@ public function match($relationship, &$parents, $children) foreach ($parents as &$parent) { - $matching = array_first($children, function($k, $v) use ($parent, $foreign) + $matching = array_first($children, function($k, $v) use (&$parent, $foreign) { return $v->$foreign == $parent->get_key(); });