欢迎光临
我们一直在努力

介绍Laravel8路由模块新增missing方法

下面由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 页面。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《介绍Laravel8路由模块新增missing方法》
文章链接:https://www.rsspt.com/520.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。