Merge pull request #1531 from jasonlewis/eloquent/bug/find

Allow find to be called anywhere on an Eloquent Model
This commit is contained in:
Taylor Otwell 2013-01-05 11:43:11 -08:00
commit eb5d68f201
2 changed files with 17 additions and 13 deletions

View File

@ -225,18 +225,6 @@ public static function update($id, $attributes)
return $model->query()->where($model->key(), '=', $id)->update($model->attributes); return $model->query()->where($model->key(), '=', $id)->update($model->attributes);
} }
/**
* Find a model by its primary key.
*
* @param string $id
* @param array $columns
* @return Model
*/
public function _find($id, $columns = array('*'))
{
return $this->query()->where(static::$key, '=', $id)->first($columns);
}
/** /**
* Get all of the models in the database. * Get all of the models in the database.
* *
@ -762,7 +750,7 @@ public function __call($method, $parameters)
return static::$$method; return static::$$method;
} }
$underscored = array('with', 'find', 'query'); $underscored = array('with', 'query');
// Some methods need to be accessed both staticly and non-staticly so we'll // Some methods need to be accessed both staticly and non-staticly so we'll
// keep underscored methods of those methods and intercept calls to them // keep underscored methods of those methods and intercept calls to them

View File

@ -50,6 +50,22 @@ public function __construct($model)
$this->table = $this->table(); $this->table = $this->table();
} }
/**
* Find a model by its primary key.
*
* @param mixed $id
* @param array $columns
* @return mixed
*/
public function find($id, $columns = array('*'))
{
$model = $this->model;
$this->table->where($model::$key, '=', $id);
return $this->first($columns);
}
/** /**
* Get the first model result for the query. * Get the first model result for the query.
* *