diff --git a/library/think/model/Relation.php b/library/think/model/Relation.php index a065524c..3c95eb4b 100644 --- a/library/think/model/Relation.php +++ b/library/think/model/Relation.php @@ -197,7 +197,7 @@ class Relation if (!empty($range)) { // 查询关联数据 $data = $this->eagerlyManyToMany($model, [ - 'pivot.' . $foreignKey => [ + 'pivot.' . $localKey => [ 'in', $range, ], @@ -277,7 +277,7 @@ class Relation if (isset($result->$pk)) { $pk = $result->$pk; // 查询管理数据 - $data = $this->eagerlyManyToMany($model, ['pivot.' . $foreignKey => $pk], $relation, $subRelation); + $data = $this->eagerlyManyToMany($model, ['pivot.' . $localKey => $pk], $relation, $subRelation); // 关联数据封装 if (!isset($data[$pk])) { @@ -374,7 +374,7 @@ class Relation } } $set->pivot = new Pivot($pivot, $this->middle); - $data[$set->$foreignKey][] = $set; + $data[$pivot[$localKey]][] = $set; } return $data; }