改进Model类的scope方法

This commit is contained in:
thinkphp
2016-05-27 12:17:00 +08:00
parent e07bb1a6fd
commit c7bc8d6347

View File

@@ -702,7 +702,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
/** /**
* 命名范围 * 命名范围
* @access public * @access public
* @param string|Closure $name 命名范围名称 逗号分隔 * @param string|array|Closure $name 命名范围名称 逗号分隔
* @param mixed $params 参数调用 * @param mixed $params 参数调用
* @return \think\Model * @return \think\Model
*/ */
@@ -715,9 +715,11 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
} elseif ($name instanceof Query) { } elseif ($name instanceof Query) {
return $name; return $name;
} else { } else {
$names = explode(',', $name); if (is_string($name)) {
$names = explode(',', $name);
}
foreach ($names as $scope) { foreach ($names as $scope) {
$method = 'scope' . $scope; $method = 'scope' . trim($scope);
if (method_exists($model, $method)) { if (method_exists($model, $method)) {
$model->$method($query, $params); $model->$method($query, $params);
} }