Merge pull request #751 from jasonlewis/patch-9
Allow find to be called non-statically on Eloquent models
This commit is contained in:
commit
cfc0577d50
|
@ -230,11 +230,9 @@ public static function update($id, $attributes)
|
|||
* @param array $columns
|
||||
* @return Model
|
||||
*/
|
||||
public static function find($id, $columns = array('*'))
|
||||
public function _find($id, $columns = array('*'))
|
||||
{
|
||||
$model = new static;
|
||||
|
||||
return $model->query()->where(static::$key, '=', $id)->first($columns);
|
||||
return $this->query()->where(static::$key, '=', $id)->first($columns);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -746,10 +744,12 @@ public function __call($method, $parameters)
|
|||
return static::$$method;
|
||||
}
|
||||
|
||||
$underscored = array('with', 'find');
|
||||
|
||||
// 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
|
||||
// here so they can be called either way on the model instance.
|
||||
if (in_array($method, array('with')))
|
||||
if (in_array($method, $underscored))
|
||||
{
|
||||
return call_user_func_array(array($this, '_'.$method), $parameters);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue