cakephp-3.0 - cakephp 3.x 级联删除不工作

标签 cakephp-3.0 cascading-deletes

我有 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/

相关文章:

sql-server - 级联删除链接表连接 2 个表,每个表都有一个级联删除到另一个表。如何?

ios - 在 Core Data 中使用级联规则删除托管对象的性能注意事项

php - 使用 CakePHP 表单助手在输入占位符上显示特殊字符

php - CakePHP 对象转换为数组?

CakePHP i18n __ 函数返回数组

postgresql - Postgres : Ignore DELETE triggers for cascade deletes

mysql - 如何在 MySQL Workbench 中设置级联删除?

algorithm - 将旧密码迁移到 CakePHP 3

mysql - 是否可以在实体中定义虚拟字段(SQL 函数调用)?

sql-server - 在 sql server 中使用 ON DELETE CASCADE 删除触发器问题