Fix to_array() in eloquent model.

This commit is contained in:
Taylor Otwell 2012-05-11 13:22:04 -05:00
parent f8fe7843ab
commit b097b6c682
1 changed files with 6 additions and 2 deletions

View File

@ -607,7 +607,7 @@ public function to_array()
// If the relationship is not a "to-many" relationship, we can just
// to_array the related model and add it as an attribute to the
// array of existing regular attributes we gathered.
if ( ! is_array($models))
if ($models instanceof Model)
{
$attributes[$name] = $models->to_array();
}
@ -615,13 +615,17 @@ public function to_array()
// If the relationship is a "to-many" relationship we need to spin
// through each of the related models and add each one with the
// to_array method, keying them both by name and ID.
else
elseif (is_array($models))
{
foreach ($models as $id => $model)
{
$attributes[$name][$id] = $model->to_array();
}
}
elseif (is_null($models))
{
$attributes[$name] = $models;
}
}
return $attributes;