Перехват исключений при вызове роль :: создание и разрешение :: создание - PullRequest
0 голосов
/ 07 февраля 2020

Я использую laravel разрешения, и я часто создаю и уничтожаю разрешения, и иногда я не могу сказать, есть ли у пользователя определенное разрешение или нет, и мне необходимо проверить, есть ли у пользователя роль, и разрешение требует дополнительных код, прежде чем я позвоню role::create() например.

Если я пытаюсь создать уже существующую роль, я получаю сообщение об ошибке базы данных и хочу, чтобы это происходило изящно, например, игнорирование создания или разрешения создания роли, если у пользователя есть указанное c разрешение или роль, которую я пытаюсь выполнить. для добавления.

Имеются ли laravel -пропуски с методом для перехвата таких исключений вместо того, чтобы предоставлять пользователю ошибки базы данных?.

1 Ответ

0 голосов
/ 07 февраля 2020

Самый простой способ отловить любой 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

...