Laravel8点击View按钮无法跳转至view.blade.php视图如何解决
Laravel 8 点击View按钮无法跳转视图修复方案
问题根因
路由定义和实际请求路径不匹配,和redirect逻辑无关:前端跳转链接拼接了订单id,请求路径格式为/view-order/{id},但路由定义未声明动态{id}参数,Laravel无法匹配到对应路由,自然无法执行控制器的视图返回逻辑。
修复步骤
- 修正路由定义,补充动态id参数占位
修正后的路由代码:Route::get('view-order/{id}', [UserController::class, 'view']); - (可选优化)控制器方法增加订单不存在的兜底逻辑,避免无效id传入导致视图报错,把
first()替换为firstOrFail(),找不到对应订单时自动返回404响应:public function view($id) { $orders = Order::where('id', $id)->where('user_id', Auth::id())->firstOrFail(); return view('frontend.orders.view', compact('orders')); } - 执行路由缓存清除命令,确保新路由生效:
php artisan route:clear
完成以上操作后,点击页面View按钮即可正常跳转至frontend.orders.view对应的视图文件。
内容的提问来源于stack exchange,提问作者Veasna
相关产品推荐
相关产品推荐

