在 laravel 中恢复软删除 child

restore soft delete child in laravel

我正在使用 laravel,我想在恢复 parent 时恢复 child 例如 我删除了一个用户 每个用户都有一个商店 所以商店被删除了 $cascadeDeletes 和所有 child 与用户相关 但是当我想恢复用户 her/his 商店不会恢复

这里是店铺模型

  protected $cascadeDeletes = ['ProductCategories' , 'products', 'slideshows', 'purchases', 'vouchers', 'brands', 'feedbacks', 'tags', 'subscribers', 'invoice', 'donwloadLinkRequests', 'stats', 'compares', 'wishlists', 'faqs','shopContact']

和用户模型

  protected $cascadeDeletes = ['addresses', 'userInformation', 'wishlist', 'comments','compare', 'shop', 'purchases', 'cart'];

** I am using iatstuti/laravel-cascade-soft-deletes so is there any way with this**

您可以为用户模型restoring事件添加监听器并恢复相关商店。在用户模型启动函数中,添加如下内容:

static::restoring(function($user) {
    $user->shop()->withTrashed()->first()->restore();
});

参见model events