所以我用delete
控制器:
MenuModel::get($id)->delete()
模型:public function delete()
{
//关联删除
$this->together('authAccess');
return parent::delete();
}
然后发现并不能删掉authAccess表相关的2条数据进入delete方法,发现这里没有执行
// 关联删除
if (!empty($this->relationWrite)) {
foreach ($this->relationWrite as $key => $name) {
$name = is_numeric($key) ? $name : $key;
$model = $this->getAttr($name);
if ($model instanceof Model) {
$model->delete();
}
}
}
这里 if ($model instanceof Model) {
$model->delete();
}
由于我authAccess表有多条相关的数据,所以$model = $this->getAttr($name);
获取到的是一个数组
导致
//$model 其实是一个数组
if ($model instanceof Model) {
$model->delete();
}
这里进不去。问下,这算BUG吗,还是一对多不能这么更新
最佳答案
