Eloquent 如果 return 错误,删除事件是否可以暂停?

Eloquent events for deleting is haltable if they return false?

我在删除任何用户之前进行了条件检查。所以我使用用户模型 eloquent 删除事件。在那种情况下,我在删除之前检查条件并且它是 return true 然后可以删除用户。但是 return false 不能删除用户。但目前它无法以任何方式删除用户。为什么?

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

你需要把事件放在你的User模型boot方法中,你不能直接在模型上调用它。

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

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