我正在尝试在Laravel中实现软删除。
以下是我的关联关系
Tournament ( hasMany ) CategoryTournament (hasOne) CategorySettings
Tournament ( hasMany ) CategoryTournament (belongsToMany) CategoryTournamentUser
所以,我使用了此答案,对我非常有帮助。
现在,当我软删除一个锦标赛时,所有相关的类别锦标赛也会被删除。
但是,接着我试图递归应用它,所以我在CategoryTournament模型中写了相同的代码:
static::deleting(function($categoryTournament) {
$categoryTournament->settings()->delete();
$categoryTournament->users()->delete();
});
但是这段代码从未运行过。
我检查了我有要删除的设置和用户,但它们都没有被软删除...
我错过了什么吗???它应该工作的!编辑: 现在,我正在尝试软删除一个用户,它只是多了一层:
User (HasMany) Tournament ( hasMany ) CategoryTournament (hasOne) CategorySettings
现在,当我软删除用户时,它会删除他的比赛,但不再删除他的CategoryTournaments,所以这不是配置错误。