在laravel中恢复软删除子级

问题描述 投票:0回答:1

我正在使用laravel,我想在还原父母时还原孩子例如我删除了一个用户每个用户都有一家商店因此商店已使用$ cascadeDeletes删除,并且所有与该用户相关的子级但是当我想恢复用户时,她/他的商店将不会恢复

这里是商店模型

  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'];

**我正在使用iatstuti / laravel-cascade-soft-deletes,所以这个有什么办法**

php laravel cascading-deletes soft-delete
1个回答
1
投票

您可以为用户模型restoring事件添加一个侦听器,并恢复相关的商店。在用户模型引导功能中,添加以下内容:

static::restoring(function($user) {
    $user->shop()->withTrashed()->first()->restore();
});
© www.soinside.com 2019 - 2024. All rights reserved.