使用onDelete级联

时间:2017-04-13 17:01:44

标签: laravel eloquent laravel-5.2 laravel-5.3

即时尝试在我的应用程序中使用删除级联,也许我做得不对,但我有想法,当我删除我的情况下,产品自动将删除与其相关的列。

我的情况:

DB:

products:
- id_product;
- status;

products_translations:
- id;
- product_id;
- name;
- description;
- locale;

我的迁移使得关系和使用级联删除:

 Schema::table('product_translations', function (Blueprint $table) {
            $table->foreign('product_id')->references('id')->on('products')->onDelete('cascade');
        });

我在哪里制作删除产品:

$product = Product::find($id);
        $product->delete();
        return back();

1 个答案:

答案 0 :(得分:0)

我建议您以其他方式尝试删除基于事件。在您的产品型号中添加此

protected static function boot()
{
    parent::boot();

    static::deleting(function($product)
    {
            $product->Translations()->delete();

    });
}

请记住将hasMany关系作为名为Translations()

的公共函数添加到产品模型中