在我的控制器中, 我使用了firstOrFail()方法來進行Eloquent的資料庫查詢. 當在除錯模式下,我得到一個Laravel的錯誤資訊,內容是IlluminateSupportItemNotFoundException。
然而, 我想回傳一個redirect()或mabye back()而不是顯示這個錯誤螢屏. 我怎樣才能做到這一點呢?
uj5u.com熱心網友回復:
使用php try catch,來覆寫錯誤捕捉的行為,
try {
//你的功能代碼。
} catch ( IlluminateSupportItemNotFoundException $exception ) {
//你的重定向命令,如果有一個型別為ItemNotFoundException的例外,這里的代碼將被執行。
}
如果你想捕捉所有的錯誤,你需要使用一般的例外類,它是所有例外的父類
。 try {
//你的功能代碼。
} catch (Exception $exception) {
//你的重定向命令,如果有任何例外,這里的代碼將被執行。
如果你想獲得例外資訊以記錄它或任何定制,你可以使用方法:getMessage(),在我們的例子中,將是$exception->getMessage()
uj5u.com熱心網友回復:
代替firstOrFail()使用first()并使用條件重定向回來,例如:
$item = Item::where('slug', $slug)-> first();
if (! $item) {
return redirect()->back()。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/307806.html
標籤:
上一篇:在SQL中使用連接操作
