gpt4 book ai didi

mysql - onDelete() 在 laravel 中无法正常工作

转载 作者:可可西里 更新时间:2023-11-01 07:38:28 26 4
gpt4 key购买 nike

我搜索了这个问题,找到了一个解决方案,就是更改存储引擎 = InnoDB,但我随后的 child 的行仍然没有被删除。

我的模型层次结构是......

Board -> Task -> Card -> [comments,files,labels];

如果我删除任务,那么与该任务关联的所有卡片都应该被删除,但在我的情况下,它不会发生。

这里我给你一个Card的示例模型......

 if(!Schema::hasTable('cards')){
Schema::create('cards', function (Blueprint $table) {
$table->increments('id');
$table->integer('task_id')->unsigned();
$table->string('title');
$table->string('discription')->nullable();
$table->timestamps();
});

Schema::table('cards', function($table) {
$table->foreign('task_id')
->references('id')
->on('tasks')
->onDelete('cascade');
});
}

类似于我实现的所有模型。所以请给我建议以解决我的问题。

最佳答案

您试图仅在创建表时添加约束。但是由于您添加了这一行,看起来 FK 约束没有添加/修改,因为表已经存在:

if(!Schema::hasTable('cards')) {

关于mysql - onDelete() 在 laravel 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48456567/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com