我有 3 个表名称文章、评论、地址。
articles -> fields(id,title,body)
comments -> fields(id,article_id,comment)
addresses-> fields(id,article_id,address)
在我的文章 Controller 中,我一直保持 dependent=>true 和 cascadeCallbacks=>true。首先我尝试使用 dependent => true,我努力工作然后添加级联,但它仍然不起作用。下面是我的代码。
$this->hasMany('Comments', [
'className' => 'Comments',
'dependent' => true,
'cascadeCallbacks' => true,
]);
$this->hasOne('Addresses',[
'dependent' => true,
'cascadeCallbacks' => true,
]);
但是在删除文章的同时,关联的记录并没有被删除。
public function delete($id = null)
{
$this->request->allowMethod(['post', 'delete']);
$article = $this->Articles->get($id);
if ($this->Articles->delete($article)) {
$this->Flash->success(__('The article has been deleted.'));
} else {
$this->Flash->error(__('The article could not be deleted. Please, try again.'));
}
return $this->redirect(['action' => 'index']);
}
请告诉我我做错了什么。或者需要添加或更改任何代码???? 请帮助
最佳答案
试试这个:
$this->hasMany('评论', [
'foreignKey' => 'article_id',
'依赖' => 真,
'cascadeCallbacks' => 真
]);
关于cakephp-3.0 - cakephp 3.x 级联删除不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39148523/