gpt4 book ai didi

php - Laravel - onDelete ("cascade")不起作用

转载 作者:行者123 更新时间:2023-12-01 22:00:27 25 4
gpt4 key购买 nike

我有一个 Laravel 4 应用程序,其中包含民意调查和不同的投票选项或选择。问题是,当我销毁民意调查时,选项不会从数据库中删除。

这些是我的主要迁移:

民意调查:

private $table = 'polls';

public function down() {
Schema::dropIfExists($this->table);
}

public function up() {
Schema::create($this->table, function(Blueprint $table) {

$table->increments('id');
$table->string( 'owner' )->unsigned();
$table->foreign('owner' )->references('id')->on('users')->onDelete('cascade');
$table->string( 'topic' );
$table->boolean('multichoice')->default(false);
$table->boolean('signed' )->default(false); // Marks if the poll can be voted only by authenticated users
$table->timestamps();
});
}

选项:

private $table = 'options';

public function down() {
Schema::dropIfExists($this->table);
}

public function up() {
Schema::create($this->table, function(Blueprint $table) {

$table->increments('id');
$table->integer( 'poll_id')->unsigned();
$table->foreign( 'poll_id')->references('id')->on('polls')->onDelete('cascade');
$table->string( 'name' );
$table->integer( 'votes' )->default(0);
$table->timestamps();
});
}

这是删除的代码:

    Poll::destroy($id);

我现在正在使用 sqlite 作为我的数据库引擎。

我做错了什么?

最佳答案

也许 sqlite 禁用了外键支持(默认行为)。

参见ON DELETE CASCADE in sqlite3

关于php - Laravel - onDelete ("cascade")不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28167523/

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