diff --git a/library/think/Model.php b/library/think/Model.php index 2b7f3ae3..52c003cc 100644 --- a/library/think/Model.php +++ b/library/think/Model.php @@ -1245,6 +1245,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess if (strpos($relation, '.')) { list($relation, $subRelation) = explode('.', $relation); } + $relation = Loader::parseName($relation, 1); $this->$relation()->eagerlyResultSet($resultSet, $relation, $subRelation, $closure, $class); } } @@ -1271,6 +1272,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess if (strpos($relation, '.')) { list($relation, $subRelation) = explode('.', $relation); } + $relation = Loader::parseName($relation, 1); $this->$relation()->eagerlyResult($result, $relation, $subRelation, $closure, $class); } } diff --git a/library/think/db/Query.php b/library/think/db/Query.php index dc854a6c..43a5b07c 100644 --- a/library/think/db/Query.php +++ b/library/think/db/Query.php @@ -1653,7 +1653,8 @@ class Query } /** @var Relation $model */ - $model = $class->$relation(); + $relation = Loader::parseName($relation, 1); + $model = $class->$relation(); if ($model instanceof HasOne || $model instanceof BelongsTo) { $model->eagerly($this, $relation, $subRelation, $closure, $first); $first = false;