Procházet zdrojové kódy

删除任务时把子任务也同时删除

kely před 7 měsíci
rodič
revize
ea4fd70063

+ 49 - 0
app/Observers/TaskObserver.php

@@ -0,0 +1,49 @@
+<?php
+
+namespace App\Observers;
+
+use App\Models\Task;
+
+class TaskObserver
+{
+    /**
+     * Handle the Task "created" event.
+     */
+    public function created(Task $task): void
+    {
+        //
+    }
+
+    /**
+     * Handle the Task "updated" event.
+     */
+    public function updated(Task $task): void
+    {
+        //
+    }
+
+    /**
+     * Handle the Task "deleted" event.
+     */
+    public function deleted(Task $task): void
+    {
+        //
+        $task->children()->delete();
+    }
+
+    /**
+     * Handle the Task "restored" event.
+     */
+    public function restored(Task $task): void
+    {
+        //
+    }
+
+    /**
+     * Handle the Task "force deleted" event.
+     */
+    public function forceDeleted(Task $task): void
+    {
+        //
+    }
+}

+ 3 - 0
app/Providers/EventServiceProvider.php

@@ -6,7 +6,9 @@ use App\Events\ObjectActionCreate;
 use App\Listeners\SendActionBrowserNotification;
 use App\Listeners\SendActionEmailNotification;
 use App\Models\Requirement;
+use App\Models\Task;
 use App\Observers\RequirementObserver;
+use App\Observers\TaskObserver;
 use Illuminate\Auth\Events\Registered;
 use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
 use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
@@ -35,6 +37,7 @@ class EventServiceProvider extends ServiceProvider
     public function boot(): void
     {
         Requirement::observe(RequirementObserver::class);
+        Task::observe(TaskObserver::class);
     }
 
     /**