改进Model类的useGlobalScope方法调用后的全局影响

This commit is contained in:
thinkphp
2016-12-21 12:22:24 +08:00
parent 6bd6d03440
commit a981277c66

View File

@@ -1188,7 +1188,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
public static function useGlobalScope($use)
{
$model = new static();
self::$db = $model->db($use);
static::$db = $model->db($use);
return $model;
}
@@ -1461,9 +1461,11 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
{
if (isset(static::$db)) {
$query = static::$db;
static::$db = null;
} else {
$query = $this->db();
}
if (method_exists($this, 'scope' . $method)) {
// 动态调用命名范围
$method = 'scope' . $method;
@@ -1479,6 +1481,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
{
if (isset(static::$db)) {
$query = static::$db;
static::$db = null;
} else {
$query = (new static())->db();
}