Я пытаюсь реализовать мягкое удаление в Laravel.
Вот мои отношения
Tournament ( hasMany ) CategoryTournament (hasOne) CategorySettings
Tournament ( hasMany ) CategoryTournament (belongsToMany) CategoryTournamentUser
Итак, я использовал этот ответ, который мне очень помогает
Теперь, когда я SoftDelete Tournament, все связанные с CategoryTournaments также удаляются.
Но потом я попытался применить его рекурсивно, поэтому я написал тот же код в ModelTournament Model:
static::deleting(function($categoryTournament) {
$categoryTournament->settings()->delete();
$categoryTournament->users()->delete();
});
Но этот код никогда не запускается. Я проверил, что у меня есть настройки и пользователь для удаления, но ни один из них не будет удален...
Я что-то пропустил??? Он должен работать!
ИЗМЕНИТЬ:
Теперь я пытаюсь "Мягко удалить пользователя", это всего лишь еще один уровень:
User (HasMany) Tournament ( hasMany ) CategoryTournament (hasOne) CategorySettings
Итак, теперь, когда я мягко удаляю пользователя, он удаляет его турниры, но он больше не удаляет его CategoryTournaments, так что это не ошибка конфигурации.