改进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; $id = $data->$relationFk;
} }
// 删除中间表数据 // 删除中间表数据
$pk = $this->parent->getPk(); $pk = $this->parent->getPk();
$pivot[$this->localKey] = $this->parent->$pk; $pivot[$this->localKey] = $this->parent->$pk;
$pivot[$this->foreignKey] = is_array($id) ? ['in', $id] : $id; if (isset($id)) {
$query = clone $this->parent->db(); $pivot[$this->foreignKey] = is_array($id) ? ['in', $id] : $id;
}
$query = clone $this->parent->db();
$query->table($this->middle)->where($pivot)->delete(); $query->table($this->middle)->where($pivot)->delete();
// 删除关联表数据 // 删除关联表数据
if ($relationDel) { if (isset($id) && $relationDel) {
$model = $this->model; $model = $this->model;
$model::destroy($id); $model::destroy($id);
} }