【发布时间】:2016-02-14 06:46:27
【问题描述】:
我要做的只是验证查询。
'SELECT * from table_that_does_not_exist'
如果没有那个错误,我想知道它失败了,所以我可以返回一个响应,指出“错误:表不存在”或一般错误。
【问题讨论】:
-
如果您使用
Eloquent进行查询,您可以在DB::raw()查询上使用firstOrFail()。或try{ } catch (Illuminate\Database\QueryException $ex){ } -
我尝试了try catch,但它仍然显示错误。例如:尝试 { $results = DB::connection('myDB')->select('BAD TEXT QUERY SHOULD FAIL'); } catch ( Illuminate\Database\QueryException $e) { // 不要做任何事情 }
-
try { $results = \DB::connection("example")->select(\DB::raw("SELECT * FROM unknown_table"))->first(); } catch(\Illuminate\Database\QueryException $ex){ die("Caught an error"); }抛出和dies“发现错误”。你在Illuminate之前有\吗?我刚刚意识到我在第一条评论中忘记了这一点。此外,您$ex将扩展基类Exception,因此您可以调用$ex->getMessage()以返回确切的错误。 -
@TimLewis 非常感谢!随意将其添加为答案,以便我奖励您一百万美元。
-
哈哈没问题,会的!