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

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

下面由laravel教程欄目給大家介紹Laravel 8 路由模塊新增的 missing 方法,希望對需要的朋友有所幫助!

介紹Laravel8路由模塊新增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
喜歡就支持一下吧
點贊12 分享