diff --git a/app/Http/Controllers/Web/AffiliateController.php b/app/Http/Controllers/Web/AffiliateController.php index 6d57322..ef4a34c 100644 --- a/app/Http/Controllers/Web/AffiliateController.php +++ b/app/Http/Controllers/Web/AffiliateController.php @@ -92,14 +92,6 @@ public function show($affiliate): RedirectResponse */ public function destroy(Affiliates $affiliate): RedirectResponse { - // 检测是不是自己的推介计划 - if ($affiliate->user_id !== auth()->id()) { - return redirect()->route('affiliates.index')->with('error', '您没有权限删除此推介计划。'); - } - - AffiliateUser::where('affiliate_id', $affiliate->id)->delete(); - User::where('affiliate_id', $affiliate->id)->update(['affiliate_id' => null]); - $affiliate->delete(); return redirect()->route('affiliates.create')->with('success', '推介计划已经成功删除。'); diff --git a/app/Models/Affiliate/Affiliates.php b/app/Models/Affiliate/Affiliates.php index 18e2b23..b5c157d 100644 --- a/app/Models/Affiliate/Affiliates.php +++ b/app/Models/Affiliate/Affiliates.php @@ -31,6 +31,11 @@ public static function booted() static::creating(function (self $affiliate) { $affiliate->uuid = Str::ulid(); }); + + static::deleting(function (self $affiliate) { + $affiliate->users()->delete(); + $affiliate->user->update(['affiliate_id' => null]); + }); } public function scopeThisUser(Builder $query): Builder