改进关联用法

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; $closure = $relation;
$relation = $key; $relation = $key;
} elseif (is_array($relation)) { }
if (is_array($relation)) {
$subRelation = $relation; $subRelation = $relation;
$relation = $key; $relation = $key;
} } elseif (strpos($relation, '.')) {
if (strpos($relation, '.')) {
list($relation, $subRelation) = explode('.', $relation, 2); list($relation, $subRelation) = explode('.', $relation, 2);
} }
$method = Loader::parseName($relation, 1, false); $method = Loader::parseName($relation, 1, false);
@@ -1522,7 +1522,10 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
$closure = $relation; $closure = $relation;
$relation = $key; $relation = $key;
} }
if (strpos($relation, '.')) { if (is_array($relation)) {
$subRelation = $relation;
$relation = $key;
} elseif (strpos($relation, '.')) {
list($relation, $subRelation) = explode('.', $relation, 2); list($relation, $subRelation) = explode('.', $relation, 2);
} }
$relation = Loader::parseName($relation, 1, false); $relation = Loader::parseName($relation, 1, false);
@@ -1548,7 +1551,10 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
$closure = $relation; $closure = $relation;
$relation = $key; $relation = $key;
} }
if (strpos($relation, '.')) { if (is_array($relation)) {
$subRelation = $relation;
$relation = $key;
} elseif (strpos($relation, '.')) {
list($relation, $subRelation) = explode('.', $relation, 2); list($relation, $subRelation) = explode('.', $relation, 2);
} }
$relation = Loader::parseName($relation, 1, false); $relation = Loader::parseName($relation, 1, false);