Laravel视图文件实际存在但访问时框架提示找不到,该如何解决?
问题解决步骤
- 第一步:确认视图文件路径及后缀完全匹配
你控制器返回的视图路径为users.checks.edit,必须满足以下所有条件:- 视图文件存放在项目根目录的
resources/views目录下 - 层级结构完全对应:
resources/views/users/checks/edit.blade.php,文件夹大小写必须完全匹配(Linux服务器对大小写敏感,禁止写成Users、Checks这类大写开头的名称) - 文件后缀必须为
.blade.php,不能仅使用.php或者其他自定义后缀
- 视图文件存放在项目根目录的
- 第二步:清除Laravel视图缓存
运行命令清理已编译的视图缓存:php artisan view:clear - 额外逻辑修正(不影响视图不存在报错,但会导致后续数据查询逻辑异常):
路由定义的参数名为{user_id},但控制器方法接收参数为$id,不符合Laravel参数绑定规范,建议统一参数名:// 方案1:修改路由参数名 Route::get('/users/editChecks/{id}', [UserController::class, 'editCheck'])->name('users.checks.edit'); // 方案2:修改控制器接收参数名 public function editCheck($user_id) { $check = Detail::findOrFail($user_id); return view('users.checks.edit', compact('check')); }
内容的提问来源于stack exchange,提问作者Osama Amr
相关产品推荐
相关产品推荐

