首頁 >php框架 >Laravel >介紹Laravel8路由模組新增missing方法

介紹Laravel8路由模組新增missing方法

藏色散人
藏色散人轉載
2021-03-18 17:08:592129瀏覽

Laravel 8.26.0 版本以上,在路由模組新增了一個missing()

方法,我們在實際開發中,經常使用路由隱形綁定會自動尋找對應的數據,減少在Controller 中自己編寫程式碼。

在之前,如果模型沒有查到對應的數據,會自動跳到全域統一的 404 頁面,不夠靈活。而 介紹Laravel8路由模組新增missing方法missing()

方法就是為了解決這個問題而來的。

Route::get('/users/{user:slug}', [UserController::class, 'show'])
     ->name('user.view')
     ->missing(function (Request $request) {
         return Redirect::route('user.index');
     });
當請求 missing.test/users/dalian 時,如果在使用者表中查不到 slug 為 dalian 的數據,會跳到使用者清單的首頁,而不是統一的 404 頁面。
注意:此方法只適用於路由的隱形綁定才會有效,例如在Controller 中使用findOrFail

方法,即使未查到指定的數據,也不會出發

missing
方法,而是會跳到統一的404 頁面。


以上是介紹Laravel8路由模組新增missing方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除