如何在单个表中使用mysql中的onDelete自动删除子行

时间:2017-09-09 11:08:22

标签: mysql laravel

我正在使用Laravel php框架,我像这样构建我的表

'placeholder' => 'Select A Channel']

如你所见:

    Schema::create('template_blocks', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('content_template_id')->unsigned();
        $table->string('type')->nullable();
        $table->integer('order')->default(0)->unsigned();
        $table->integer('parent')->nullable();
        $table->text('meta')->nullable();
        $table->timestamps();

        $table->foreign('content_template_id')->references('id')->on('templates')->onDelete('cascade')->onUpdate('cascade');
    });

指向同一个表中父节点的另一行。当我删除父级时,我希望mysql也删除子级,就像删除与当前表有关系的foriegn表中的行时级联删除一样。

这是可以使用mysql还是我必须在删除父项时在服务器上手动删除它们?有mysql做它会是最好的,但如果不能这样做,请告诉我。

0 个答案:

没有答案