Laravel资源路由无参数导致show等方法404问题求助
问题解决:Laravel资源路由参数显示为
{}导致404错误 问题根源
你在定义资源路由时,将Route::resource的第一个参数设为空字符串,导致Laravel无法生成正确的参数占位符(如{blog}),进而使得带参数的路由(show/update/destroy等)无法正确匹配请求,触发404错误。
解决方案
修正路由定义,将Route::resource的第一个参数改为'/':
// __________Route for blogs Route::prefix('blogs')->name('blog.')->group(function () { Route::resource('/', BlogController::class); });
或者也可以简化路由写法,去掉分组直接定义:
Route::resource('blogs', BlogController::class)->names('blog.');
验证步骤
- 运行
php artisan route:list查看路由列表,此时带参数的路由路径会显示为blogs/{blog}、blogs/{blog}/edit等正确格式。 - 重新调用
route('blog.show', $blog),会生成类似blogs/1的有效URL,请求该地址即可正常访问show方法。
内容的提问来源于stack exchange,提问作者Bikash Chowdhury
相关产品推荐
相关产品推荐

