Вы могли бы, но нет никакого интереса, потому что:
where
метод не существует статически в классе Illuminate\Database\Eloquent\Model
, поэтому он вызывает __callStatic
magi c метод, который делегирует вызов экземпляру
/**
* Handle dynamic static method calls into the method.
*
* @param string $method
* @param array $parameters
* @return mixed
*/
public static function __callStatic($method, $parameters)
{
return (new static)->$method(...$parameters);
}
- Он вызывает метод
where
в экземпляре, но он также не существует, поэтому он вызывает метод __call
magi c, который делегирует ему Illuminate\Database\Eloquent\Builder
экземпляр.
/**
* Handle dynamic method calls into the model.
*
* @param string $method
* @param array $parameters
* @return mixed
*/
public function __call($method, $parameters)
{
if (in_array($method, ['increment', 'decrement'])) {
return $this->$method(...$parameters);
}
return $this->forwardCallTo($this->newQuery(), $method, $parameters);
}
/**
* Get a new query builder for the model's table.
*
* @return \Illuminate\Database\Eloquent\Builder
*/
public function newQuery()
{
return $this->registerGlobalScopes($this->newQueryWithoutScopes());
}