改进关联用法

This commit is contained in:
thinkphp
2017-02-07 22:32:20 +08:00
parent 550de110fe
commit 669f70acf0

View File

@@ -1492,11 +1492,11 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
// 支持闭包查询过滤关联条件
$closure = $relation;
$relation = $key;
} elseif (is_array($relation)) {
}
if (is_array($relation)) {
$subRelation = $relation;
$relation = $key;
}
if (strpos($relation, '.')) {
} elseif (strpos($relation, '.')) {
list($relation, $subRelation) = explode('.', $relation, 2);
}
$method = Loader::parseName($relation, 1, false);
@@ -1522,7 +1522,10 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
$closure = $relation;
$relation = $key;
}
if (strpos($relation, '.')) {
if (is_array($relation)) {
$subRelation = $relation;
$relation = $key;
} elseif (strpos($relation, '.')) {
list($relation, $subRelation) = explode('.', $relation, 2);
}
$relation = Loader::parseName($relation, 1, false);
@@ -1548,7 +1551,10 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
$closure = $relation;
$relation = $key;
}
if (strpos($relation, '.')) {
if (is_array($relation)) {
$subRelation = $relation;
$relation = $key;
} elseif (strpos($relation, '.')) {
list($relation, $subRelation) = explode('.', $relation, 2);
}
$relation = Loader::parseName($relation, 1, false);