0

我正在使用 laravel 权限,并且我正在创建和销毁权限很多,有时我无法判断用户是否具有特定权限,并且必须检查用户是否具有角色和权限在我要求之前需要额外role::create()的代码实例。

如果我尝试创建一个已经存在的角色,我会收到一个数据库错误,如果用户具有我正在尝试添加的特定权限或角色,我希望它优雅地失败,例如忽略角色创建或权限创建。

laravel-permissions 是否带有捕获此类异常而不是向用户显示数据库错误的方法?

4

1 回答 1

0

捕获任何 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

于 2020-02-07T12:03:13.817 回答