diff --git a/library/think/model/relation/HasMany.php b/library/think/model/relation/HasMany.php index c4b31af9..4f2b9abb 100644 --- a/library/think/model/relation/HasMany.php +++ b/library/think/model/relation/HasMany.php @@ -202,7 +202,9 @@ class HasMany extends Relation */ public function save($data) { - $model = $this->make($data); + $model = $this->make(); + $data = array_merge($model->getData(), $data); + return $model->save($data) ? $model : false; } diff --git a/library/think/model/relation/MorphMany.php b/library/think/model/relation/MorphMany.php index 941ebe8b..e783136a 100644 --- a/library/think/model/relation/MorphMany.php +++ b/library/think/model/relation/MorphMany.php @@ -245,7 +245,8 @@ class MorphMany extends Relation */ public function save($data) { - $model = $this->make($data); + $model = $this->make(); + $data = array_merge($model->getData(), $data); return $model->save($data) ? $model : false; } diff --git a/library/think/model/relation/MorphOne.php b/library/think/model/relation/MorphOne.php index 1f4bffd7..a32fd5dc 100644 --- a/library/think/model/relation/MorphOne.php +++ b/library/think/model/relation/MorphOne.php @@ -199,8 +199,10 @@ class MorphOne extends Relation */ public function save($data) { - $model = $this->make($data); - return $model->save() ? $model : false; + $model = $this->make(); + $data = array_merge($model->getData(), $data); + + return $model->save($data) ? $model : false; } /**