diff --git a/library/think/Model.php b/library/think/Model.php index 276f4770..0f7d72d3 100644 --- a/library/think/Model.php +++ b/library/think/Model.php @@ -1346,11 +1346,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess public static function __callStatic($method, $params) { - $model = get_called_class(); - if (!isset(self::$links[$model])) { - self::$links[$model] = (new static())->db(); - } - $query = self::$links[$model]; + $query = self::getDb(); // 全局作用域 if (static::$useGlobalScope && method_exists($model, 'base')) { call_user_func_array('static::base', [ & $query]); @@ -1358,6 +1354,15 @@ abstract class Model implements \JsonSerializable, \ArrayAccess return call_user_func_array([$query, $method], $params); } + protected static function getDb() + { + $model = get_called_class(); + if (!isset(self::$links[$model])) { + self::$links[$model] = (new static())->db(); + } + return self::$links[$model]; + } + /** * 修改器 设置数据对象的值 * @access public