Merge pull request #1322 from vFragosop/eloquent/relationship_performance

Fixing has_one iterations
This commit is contained in:
Taylor Otwell
2012-10-07 11:56:24 -07:00

View File

@@ -41,19 +41,21 @@ class Has_One extends Has_One_Or_Many {
$children_hash = array(); $children_hash = array();
foreach ($children as $child) foreach ($children as $child)
{ {
if (array_key_exists($child->pivot->$foreign, $children_hash)) if (array_key_exists($child->$foreign, $children_hash))
{ {
continue; continue;
} }
$children_hash[$child->pivot->$foreign] = $child; $children_hash[$child->$foreign] = $child;
} }
foreach ($parents as $parent) foreach ($parents as $parent)
{ {
if (array_key_exists($parent->get_key(), $children_hash)) if (array_key_exists($parent->get_key(), $children_hash))
{
$parent->relationships[$relationship] = $children_hash[$parent->get_key()]; $parent->relationships[$relationship] = $children_hash[$parent->get_key()];
} }
} }
}
} }