2016-07-29 4 views
0

Wenn ich Datensätze in den "Mülleimer" werfe, benutze ich die normale Löschmethode mit aktiviertem SoftDelete.Gibt es ein erzwingendes Ereignis? - Laravel 5.2

Wenn ich erzwinge, einen Datensatz zu löschen, möchte ich auch die zugehörigen Bilder löschen. Also möchte ich Laravels Ereignisse nutzen. Bei forceDeleting möchte ich etwas Code ausführen.

Welches Ereignis kann ich dafür verlangen? Wenn forceDeleting Aufruf erhalte ich:

Call to undefined method Illuminate\Database\Query\Builder::forceDeleting() 

Welches Ereignis sollte ich dafür verwenden?

EDIT Denn jetzt bin ich mit:

Document::deleting(function ($document) { 
     if(!$document->deleted_at) { 
      // normal delete 
     }else{ 
      // force delete 
     } 
}); 

Aber Ich mag immer noch wissen, ob es ein Ereignis dafür ist.

Antwort

0

Sie können Ihre eigene Veranstaltung erstellen und selbst auslösen. Am einfachsten wäre es, das existierende Delete-Event zu erweitern und es vielleicht Force-Löschen zu nennen.

Der nächste Schritt wäre, das SoftDeleting-Merkmal zu erweitern, um dieses Ereignis automatisch für Sie auszulösen.