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,16 +7,25 @@ class Has_One_Or_Many extends Relationship {
/** /**
* Insert a new record for the association. * Insert a new record for the association.
* *
* If save is successful, the model will be returned, otherwise false.
*
* @param Model|array $attributes * @param Model|array $attributes
* @return bool * @return Model|false
*/ */
public function insert($attributes) 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();
$attributes[$this->foreign_key()] = $this->base->get_key(); return $this->model->create($attributes);
}
return $this->model->create($attributes);
} }
/** /**