Merge pull request #1143 from franzliedke/patch-38

Fix insert() method for related models.
This commit is contained in:
Taylor Otwell 2012-09-01 18:02:41 -07:00
commit 852b10e836
1 changed files with 14 additions and 5 deletions

View File

@ -7,17 +7,26 @@ class Has_One_Or_Many extends Relationship {
/**
* Insert a new record for the association.
*
* If save is successful, the model will be returned, otherwise false.
*
* @param Model|array $attributes
* @return bool
* @return Model|false
*/
public function insert($attributes)
{
$attributes = ($attributes instanceof Model) ? $attributes->attributes : $attributes;
if ($attributes instanceof Model)
{
$attributes->set_attribute($this->foreign_key(), $this->base->get_key());
return $attributes->save() ? $attributes : false;
}
else
{
$attributes[$this->foreign_key()] = $this->base->get_key();
return $this->model->create($attributes);
}
}
/**
* Update a record for the association.