diff --git a/library/think/model/relation/BelongsTo.php b/library/think/model/relation/BelongsTo.php index 8bf4cc4a..85b04b7a 100644 --- a/library/think/model/relation/BelongsTo.php +++ b/library/think/model/relation/BelongsTo.php @@ -81,7 +81,8 @@ class BelongsTo extends OneToOne $range, ], ], $localKey, $relation, $subRelation, $closure); - + // 关联属性名 + $attr = Loader::parseName($relation); // 关联数据封装 foreach ($resultSet as $result) { if (!isset($data[$result->$foreignKey])) { @@ -93,7 +94,7 @@ class BelongsTo extends OneToOne $this->bindAttr($relationModel, $result, $this->bindAttr); } // 设置关联属性 - $result->setAttr(Loader::parseName($relation), $relationModel); + $result->setAttr($attr, $relationModel); } } } diff --git a/library/think/model/relation/BelongsToMany.php b/library/think/model/relation/BelongsToMany.php index fba77a31..03992470 100644 --- a/library/think/model/relation/BelongsToMany.php +++ b/library/think/model/relation/BelongsToMany.php @@ -109,14 +109,15 @@ class BelongsToMany extends Relation $range, ], ], $relation, $subRelation); - + // 关联属性名 + $attr = Loader::parseName($relation); // 关联数据封装 foreach ($resultSet as $result) { if (!isset($data[$result->$pk])) { $data[$result->$pk] = []; } - $result->setAttr(Loader::parseName($relation), $this->resultSetBuild($data[$result->$pk], $class)); + $result->setAttr($attr, $this->resultSetBuild($data[$result->$pk], $class)); } } } @@ -143,7 +144,7 @@ class BelongsToMany extends Relation if (!isset($data[$pk])) { $data[$pk] = []; } - $result->setAttr($relation, $this->resultSetBuild($data[$pk], $class)); + $result->setAttr(Loader::parseName($relation), $this->resultSetBuild($data[$pk], $class)); } } diff --git a/library/think/model/relation/HasMany.php b/library/think/model/relation/HasMany.php index 0b145f77..49ea2e78 100644 --- a/library/think/model/relation/HasMany.php +++ b/library/think/model/relation/HasMany.php @@ -79,13 +79,14 @@ class HasMany extends Relation $range, ], ], $relation, $subRelation, $closure); - + // 关联属性名 + $attr = Loader::parseName($relation); // 关联数据封装 foreach ($resultSet as $result) { if (!isset($data[$result->$localKey])) { $data[$result->$localKey] = []; } - $result->setAttr(Loader::parseName($relation), $this->resultSetBuild($data[$result->$localKey], $class)); + $result->setAttr($attr, $this->resultSetBuild($data[$result->$localKey], $class)); } } } diff --git a/library/think/model/relation/HasOne.php b/library/think/model/relation/HasOne.php index 23ffecd2..5c7ecd23 100644 --- a/library/think/model/relation/HasOne.php +++ b/library/think/model/relation/HasOne.php @@ -108,7 +108,8 @@ class HasOne extends OneToOne $range, ], ], $foreignKey, $relation, $subRelation, $closure); - + // 关联属性名 + $attr = Loader::parseName($relation); // 关联数据封装 foreach ($resultSet as $result) { if (!isset($data[$result->$localKey])) { @@ -120,7 +121,7 @@ class HasOne extends OneToOne $this->bindAttr($relationModel, $result, $this->bindAttr); } // 设置关联属性 - $result->setAttr(Loader::parseName($relation), $relationModel); + $result->setAttr($attr, $relationModel); } } } diff --git a/library/think/model/relation/MorphMany.php b/library/think/model/relation/MorphMany.php index 82b429ff..71719c01 100644 --- a/library/think/model/relation/MorphMany.php +++ b/library/think/model/relation/MorphMany.php @@ -89,13 +89,14 @@ class MorphMany extends Relation $morphKey => ['in', $range], $morphType => $type, ], $relation, $subRelation, $closure); - + // 关联属性名 + $attr = Loader::parseName($relation); // 关联数据封装 foreach ($resultSet as $result) { if (!isset($data[$result->$pk])) { $data[$result->$pk] = []; } - $result->setAttr(Loader::parseName($relation), $this->resultSetBuild($data[$result->$pk], $class)); + $result->setAttr($attr, $this->resultSetBuild($data[$result->$pk], $class)); } } } diff --git a/library/think/model/relation/MorphTo.php b/library/think/model/relation/MorphTo.php index d6a7a933..8051862d 100644 --- a/library/think/model/relation/MorphTo.php +++ b/library/think/model/relation/MorphTo.php @@ -111,6 +111,8 @@ class MorphTo extends Relation } if (!empty($range)) { + // 关联属性名 + $attr = Loader::parseName($relation); foreach ($range as $key => $val) { // 多态类型映射 $model = $this->parseModel($key); @@ -126,7 +128,7 @@ class MorphTo extends Relation if (!isset($data[$result->$morphKey])) { $data[$result->$morphKey] = []; } - $result->setAttr(Loader::parseName($relation), $this->resultSetBuild($data[$result->$morphKey], $class)); + $result->setAttr($attr, $this->resultSetBuild($data[$result->$morphKey], $class)); } } }