Как поймать исключительную базу данных :: unprepared () - PullRequest
0 голосов
/ 10 января 2019

Я хочу запустить файл сценария SQL в Laravel 5.5, и я использую DB::unprepared($sql), что пока хорошо. Но я обнаружил, что DB::unprepared($sql), кажется, не возвращает ошибку Exception. Я пытаюсь другим методом, но все равно не работает.

Вот класс Exception, который я пробовал: \Exception, PDOException, \Illuminate\Database\QueryException, но не работал.

Попробуйте попробовать получить bolean возврат из DP::unprepared($sql), выполнив это $return = DB::unprepared($sql); var_dump($return);, но всегда верните TRUE

Я пытался использовать DB::statement($sql), но похоже, что он используется только для выполнения statement за statement. Мне нужно запустить весь файл sql без каких-либо изменений.

Может кто-нибудь помочь мне, как поймать ошибку SQL-скрипта? Любой метод функции laravel, который мог бы помочь мне перехватить исключение SQL?

1 Ответ

0 голосов
/ 10 января 2019

Вы можете проверить это с помощью try catch :

    try { 
      //your code
    } catch(\Illuminate\Database\QueryException $ex){ 
      dd($ex->getMessage()); 
      // Note any method of class PDOException can be called on $ex.
    }

Также проверьте для справки: Проверьте это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...