更新tp内核
This commit is contained in:
@@ -104,6 +104,8 @@ abstract class Connection
|
||||
'sql_explain' => false,
|
||||
// Builder类
|
||||
'builder' => '',
|
||||
// Query类
|
||||
'query' => '\\think\\db\\Query',
|
||||
];
|
||||
|
||||
// PDO连接参数
|
||||
@@ -131,12 +133,14 @@ abstract class Connection
|
||||
* 创建指定模型的查询对象
|
||||
* @access public
|
||||
* @param string $model 模型类名称
|
||||
* @param string $queryClass 查询对象类名
|
||||
* @return Query
|
||||
*/
|
||||
public function model($model)
|
||||
public function model($model, $queryClass = '')
|
||||
{
|
||||
if (!isset($this->query[$model])) {
|
||||
$this->query[$model] = new Query($this, $model);
|
||||
$class = $queryClass ?: $this->config['query'];
|
||||
$this->query[$model] = new $class($this, $model);
|
||||
}
|
||||
return $this->query[$model];
|
||||
}
|
||||
@@ -151,7 +155,8 @@ abstract class Connection
|
||||
public function __call($method, $args)
|
||||
{
|
||||
if (!isset($this->query['database'])) {
|
||||
$this->query['database'] = new Query($this);
|
||||
$class = $this->config['query'];
|
||||
$this->query['database'] = new $class($this);
|
||||
}
|
||||
return call_user_func_array([$this->query['database'], $method], $args);
|
||||
}
|
||||
|
||||
@@ -1342,9 +1342,14 @@ class Query
|
||||
|
||||
list($guid) = explode(' ', $tableName);
|
||||
if (!isset(self::$info[$guid])) {
|
||||
if (!strpos($guid, '.')) {
|
||||
$schema = $this->getConfig('database') . '.' . $guid;
|
||||
} else {
|
||||
$schema = $guid;
|
||||
}
|
||||
// 读取缓存
|
||||
if (is_file(RUNTIME_PATH . 'schema/' . $guid . '.php')) {
|
||||
$info = include RUNTIME_PATH . 'schema/' . $guid . '.php';
|
||||
if (is_file(RUNTIME_PATH . 'schema/' . $schema . '.php')) {
|
||||
$info = include RUNTIME_PATH . 'schema/' . $schema . '.php';
|
||||
} else {
|
||||
$info = $this->connection->getFields($guid);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user