要删除的雄辩事件如果返回 false,是否可以停止?



在删除任何用户之前,我会进行条件检查。所以我使用用户模型雄辩删除事件。在这种情况下,我在删除之前检查条件,它返回 true,然后可以删除用户。但它返回错误无法删除用户。但目前它并没有像那样工作,它以任何方式删除用户。为什么?

User::deleting(function($user) {
if($user->is_admin){
return false;
}
return true;
});

您需要将事件放入模型boot方法User,不能直接在模型上调用它。

public static function boot()
{
parent::boot();
static::deleting(function($user) 
{
if($user->is_admin){
return false;
}
return true;
});
}

然后删除这样的记录User::find($id)->delete();

最新更新