改进关联的属性绑定

This commit is contained in:
thinkphp
2017-07-20 17:52:11 +08:00
parent 8a52dd232f
commit 8ff20f98d0
3 changed files with 12 additions and 11 deletions

View File

@@ -143,10 +143,11 @@ class BelongsTo extends OneToOne
$relationModel->isUpdate(true);
}
if ($relationModel && !empty($this->bindAttr)) {
if (!empty($this->bindAttr)) {
// 绑定关联属性
$this->bindAttr($relationModel, $result, $this->bindAttr);
}
// 设置关联属性
$result->setRelation($attr, $relationModel);
}
@@ -175,7 +176,7 @@ class BelongsTo extends OneToOne
$relationModel->setParent(clone $result);
$relationModel->isUpdate(true);
}
if ($relationModel && !empty($this->bindAttr)) {
if (!empty($this->bindAttr)) {
// 绑定关联属性
$this->bindAttr($relationModel, $result, $this->bindAttr);
}

View File

@@ -140,10 +140,10 @@ class HasOne extends OneToOne
$relationModel = $data[$result->$localKey];
$relationModel->setParent(clone $result);
$relationModel->isUpdate(true);
if (!empty($this->bindAttr)) {
// 绑定关联属性
$this->bindAttr($relationModel, $result, $this->bindAttr);
}
}
if (!empty($this->bindAttr)) {
// 绑定关联属性
$this->bindAttr($relationModel, $result, $this->bindAttr);
}
// 设置关联属性
$result->setRelation($attr, $relationModel);
@@ -173,10 +173,10 @@ class HasOne extends OneToOne
$relationModel = $data[$result->$localKey];
$relationModel->setParent(clone $result);
$relationModel->isUpdate(true);
if (!empty($this->bindAttr)) {
// 绑定关联属性
$this->bindAttr($relationModel, $result, $this->bindAttr);
}
}
if (!empty($this->bindAttr)) {
// 绑定关联属性
$this->bindAttr($relationModel, $result, $this->bindAttr);
}
$result->setRelation(Loader::parseName($relation), $relationModel);

View File

@@ -276,7 +276,7 @@ abstract class OneToOne extends Relation
if (isset($result->$key)) {
throw new Exception('bind attr has exists:' . $key);
} else {
$result->setAttr($key, $model->$attr);
$result->setAttr($key, $model ? $model->$attr : null);
}
}
}