改进关联嵌套

This commit is contained in:
thinkphp
2017-01-16 15:55:05 +08:00
parent 47a869f3af
commit 2db77f1aad

View File

@@ -1290,7 +1290,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
$relation = $key; $relation = $key;
} }
if (strpos($relation, '.')) { if (strpos($relation, '.')) {
list($relation, $subRelation) = explode('.', $relation); list($relation, $subRelation) = explode('.', $relation, 2);
} }
$method = Loader::parseName($relation, 1, false); $method = Loader::parseName($relation, 1, false);
$this->data[$relation] = $this->$method()->getRelation($subRelation, $closure); $this->data[$relation] = $this->$method()->getRelation($subRelation, $closure);
@@ -1317,7 +1317,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
$relation = $key; $relation = $key;
} }
if (strpos($relation, '.')) { if (strpos($relation, '.')) {
list($relation, $subRelation) = explode('.', $relation); list($relation, $subRelation) = explode('.', $relation, 2);
} }
$relation = Loader::parseName($relation, 1, false); $relation = Loader::parseName($relation, 1, false);
$this->$relation()->eagerlyResultSet($resultSet, $relation, $subRelation, $closure, $class); $this->$relation()->eagerlyResultSet($resultSet, $relation, $subRelation, $closure, $class);
@@ -1344,7 +1344,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
$relation = $key; $relation = $key;
} }
if (strpos($relation, '.')) { if (strpos($relation, '.')) {
list($relation, $subRelation) = explode('.', $relation); list($relation, $subRelation) = explode('.', $relation, 2);
} }
$relation = Loader::parseName($relation, 1, false); $relation = Loader::parseName($relation, 1, false);
$this->$relation()->eagerlyResult($result, $relation, $subRelation, $closure, $class); $this->$relation()->eagerlyResult($result, $relation, $subRelation, $closure, $class);