Alles, was ich versuche, ist eine Abfrage zu überprüfen.Wie kann ich eine Abfrage Ausnahme in Laravel abfangen, um zu sehen, ob es fehlschlägt?
'SELECT * from table_that_does_not_exist'
Ohne dass erroring aus, würde Ich mag es wissen, ist fehlgeschlagen, so kann ich eine Antwort zurück, die besagt, „Fehler: Tabelle nicht vorhanden“ oder die allgemeinen Fehler.
Wenn Sie mit 'Eloquent' für Ihre Fragen, könnten Sie' firstOrFail() 'auf' DB :: raw() 'Abfrage. Oder ein 'try {} catch (Illuminate \ Database \ QueryException $ ex) {}' –
Ich versuchte den Versuch zu fangen, aber es zeigt immer noch den Fehler. Zum Beispiel: try { $ results = DB :: Verbindung ('myDB') -> wählen ('BAD TEXT QUERY SOLLTE FEHLER'); } catch (Illuminate \ Database \ QueryException $ e) { // Tue nichts } – KingKongFrog
'try {$ ergebnisse = \ DB :: connection (" beispiel ") -> select (\ DB :: raw ("SELECT * FROM unknown_table")) -> first(); } catch (\ Illuminate \ Database \ QueryException $ ex) {die ("Einen Fehler gefangen"); } 'Wirft und' stirbt' "Fing einen Fehler". Hattest du das \ vor Illuminate? Ich habe gerade gemerkt, dass ich das in meinem ersten Kommentar vergessen habe. Außerdem würden Sie '$ ex' die 'Exception'-Basisklasse erweitern, sodass Sie' $ exo> getMessage() 'aufrufen können, um den genauen Fehler zurückzugeben. –