改进模型关联

This commit is contained in:
thinkphp
2017-04-01 12:50:32 +08:00
parent f72ff880dd
commit ae501f4028
8 changed files with 113 additions and 17 deletions

View File

@@ -168,7 +168,11 @@ class MorphTo extends Relation
if (!isset($data[$result->$morphKey])) {
throw new Exception('relation data not exists :' . $this->model);
} else {
$result->setAttr($attr, $data[$result->$morphKey]);
$relationModel = $data[$result->$morphKey];
$relationModel->setParent($result);
$relationModel->isUpdate(true);
$result->setAttr($attr, $relationModel);
}
}
}
@@ -220,6 +224,7 @@ class MorphTo extends Relation
$pk = $this->parent->{$this->morphKey};
$data = (new $model)->with($subRelation)->find($pk);
if ($data) {
$data->setParent($result);
$data->isUpdate(true);
}
$result->setAttr(Loader::parseName($relation), $data ?: null);