我正在使用 laravel 权限,并且我正在创建和销毁权限很多,有时我无法判断用户是否具有特定权限,并且必须检查用户是否具有角色和权限在我要求之前需要额外role::create()
的代码实例。
如果我尝试创建一个已经存在的角色,我会收到一个数据库错误,如果用户具有我正在尝试添加的特定权限或角色,我希望它优雅地失败,例如忽略角色创建或权限创建。
laravel-permissions 是否带有捕获此类异常而不是向用户显示数据库错误的方法?
我正在使用 laravel 权限,并且我正在创建和销毁权限很多,有时我无法判断用户是否具有特定权限,并且必须检查用户是否具有角色和权限在我要求之前需要额外role::create()
的代码实例。
如果我尝试创建一个已经存在的角色,我会收到一个数据库错误,如果用户具有我正在尝试添加的特定权限或角色,我希望它优雅地失败,例如忽略角色创建或权限创建。
laravel-permissions 是否带有捕获此类异常而不是向用户显示数据库错误的方法?
捕获任何 sql 语法或查询错误的最简单方法
Illuminate\Database\QueryException
尝试这个
try {
role::create()
} catch(\Illuminate\Database\QueryException $ex){
dd($ex->getMessage());
// Note any method of class PDOException can be called on $ex.
} catch(Exception $e){
// order error handeling
}
参见[https://laravel.com/api/6.x/Illuminate/Database/QueryException.html] 1