改进Relation的detach方法

This commit is contained in:
thinkphp
2016-07-16 17:39:50 +08:00
parent b04715fd7b
commit 1d3e2f4837

View File

@@ -640,14 +640,16 @@ class Relation
$id = $data->$relationFk;
}
// 删除中间表数据
$pk = $this->parent->getPk();
$pivot[$this->localKey] = $this->parent->$pk;
$pivot[$this->foreignKey] = is_array($id) ? ['in', $id] : $id;
$query = clone $this->parent->db();
$pk = $this->parent->getPk();
$pivot[$this->localKey] = $this->parent->$pk;
if (isset($id)) {
$pivot[$this->foreignKey] = is_array($id) ? ['in', $id] : $id;
}
$query = clone $this->parent->db();
$query->table($this->middle)->where($pivot)->delete();
// 删除关联表数据
if ($relationDel) {
if (isset($id) && $relationDel) {
$model = $this->model;
$model::destroy($id);
}