下面由laravel教程欄目給大家介紹Laravel 8 路由模塊新增的 missing 方法,希望對需要的朋友有所幫助!
laravel 8.26.0 版本及以上,在路由模塊新增了一個 missing() 方法,我們在實際開發中,經常使用路由隱形綁定自動查找對應的數據,減少在 controller 中自己編寫代碼。
在之前,如果模型沒有查到對應的數據,會自動跳轉到全局統一的 404 頁面,不夠靈活。而 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 頁面。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END