删除级联上的Laravel 8迁移不起作用

删除级联上的Laravel 8迁移不起作用,laravel,migration,Laravel,Migration,您好,我有一个表父表和表父表的三个子表 我创建了这样的迁移 A.父母 public function up() { Schema::create('kegiatan', function (Blueprint $table) { $table->id(); $table->string('kode_rekening'); $table->string('uraian'); $table->strin

您好,我有一个表父表和表父表的三个子表

我创建了这样的迁移

A.父母

 public function up()
{
    Schema::create('kegiatan', function (Blueprint $table) {
        $table->id();
        $table->string('kode_rekening');
        $table->string('uraian');
        $table->string('anggaran');
        $table->string('anggaran_perubahan')->nullable();
        $table->timestamps();
        $table->softDeletes();
    });
}
B.一号儿童

 public function up()
{
    Schema::create('uraian', function (Blueprint $table) {
        $table->id();
        $table->unsignedBigInteger('kegiatan_id');
        $table->string('kode_rekening');
        $table->string('uraian');
        $table->string('anggaran');
        $table->string('anggaran_perubahan')->nullable();
        $table->timestamps();
        $table->softDeletes();

        $table->foreign('kegiatan_id')->references('id')->on('kegiatan')->onDelete('cascade');

    });
}
C.三号儿童

public function up()
{
    Schema::create('uraian_kegiatan', function (Blueprint $table) {
        $table->id();
        $table->unsignedBigInteger('uraian_id');
        $table->string('kode_rekening');
        $table->string('uraian');
        $table->string('anggaran');
        $table->string('anggaran_perubahan')->nullable();
        $table->timestamps();
        $table->softDeletes();

        $table->foreign('uraian_id')->references('id')->on('uraian')->onDelete('cascade');

    });
}
所有内容均通过外键进行关联。我尝试删除父表上的数据,如id 1。但在我的孩子身上,这些数据也没有被删除。我认为这是错误的,因为我设置了删除casscade。我使用Mysql并尝试在我的“配置/数据库”中添加“InooDB”,如下所示:

   'mysql' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => 'InnoDB',
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],
但它仍然不起作用,首先我在这个配置/数据库上看到,这个引擎是由'null'设置的


有人能帮忙吗?还是给出解决方案?谢谢您

softdelete Cascade默认不工作您需要使用此功能您尝试删除记录的方式是?用什么?