Soft Cascading mit Laravel 5.2 löschen
Ich versuche, das weiche Löschen in Laravel zu implementieren.
Hier sind meine Beziehungen
Tournament ( hasMany ) CategoryTournament (hasOne) CategorySettings
Tournament ( hasMany ) CategoryTournament (belongsToMany) CategoryTournamentUser
Also, ich habediese Antwort das hilft mir sehr
Jetzt, wenn ich ein Turnier mit SoftDelete lösche, werden auch alle mit CategoryTournaments verbundenen Turniere gelöscht.
Aber dann habe ich versucht, es rekursiv anzuwenden, also habe ich den gleichen Code in CategoryTournament Model geschrieben:
static::deleting(function($categoryTournament) {
$categoryTournament->settings()->delete();
$categoryTournament->users()->delete();
});
Aber dieser Code wird nie ausgeführt. Ich habe überprüft, ob ich Einstellungen und Benutzer zum Löschen habe, aber keine davon wurde vorläufig gelöscht ...
Habe ich etwas verpasst??? Es sollte funktionieren
BEARBEITEN
Jetzt versuche ich, einen Benutzer vorläufig zu löschen. Dies ist nur eine weitere Ebene:
User (HasMany) Tournament ( hasMany ) CategoryTournament (hasOne) CategorySettings
So jetzt, wenn ich den Befehl "Benutzer löschen" wähle, werden seine Turniere gelöscht, aber seine CategoryTournaments werden nicht mehr gelöscht. Dies ist also kein Konfigurationsfehler.