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
|
* @param array $columns
|
||||||
* @return Model
|
* @return Model
|
||||||
*/
|
*/
|
||||||
public static function find($id, $columns = array('*'))
|
public function _find($id, $columns = array('*'))
|
||||||
{
|
{
|
||||||
$model = new static;
|
return $this->query()->where(static::$key, '=', $id)->first($columns);
|
||||||
|
|
||||||
return $model->query()->where(static::$key, '=', $id)->first($columns);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -746,10 +744,12 @@ public function __call($method, $parameters)
|
||||||
return static::$$method;
|
return static::$$method;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$underscored = array('with', 'find');
|
||||||
|
|
||||||
// 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
|
||||||
// here so they can be called either way on the model instance.
|
// 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);
|
return call_user_func_array(array($this, '_'.$method), $parameters);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue