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

Laravel - onDelete("cascade") does not work

我有一个 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