Laravel 5中Request与DB未定义问题求助
解决Request和DB未定义的报错问题
这个报错是因为你的代码没有引入Request类和DB门面对应的命名空间,PHP没法识别这两个类。别担心,按照下面的步骤就能快速修复:
步骤1:添加必要的命名空间引入
在你的控制器文件最顶部(class定义代码之前),添加这两行代码:
use Illuminate\Http\Request; use Illuminate\Support\Facades\DB;
步骤2:查看修改后的完整代码示例
修改后你的控制器代码大概是这样的(记得把YourControllerName换成你实际的控制器名称):
<?php namespace App\Http\Controllers; // 这一行应该本来就存在于你的控制器文件中 use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class YourControllerName extends Controller { public function edit(Request $request,$id) { $name = $request->input('stud_name'); DB::update('update student set name = ? where id = ?',[$name,$id]); echo "Record updated successfully.<br/>"; echo '<a href = "/edit-records">Click Here</a> to go back.'; } }
补充说明
Request是Laravel处理HTTP请求的核心类,通过依赖注入的方式传入方法时,必须明确引入对应的命名空间才能被PHP识别。DB是Laravel封装的数据库操作门面,提供了便捷的数据库操作方法,显式引入命名空间是规范的用法(当然Laravel默认在配置文件里注册了DB别名,但直接引入命名空间能避免潜在的别名冲突问题)。
如果修改后还有问题,可以检查下你的控制器是否正确继承了App\Http\Controllers\Controller基类,确保命名空间结构没有出错。
内容的提问来源于stack exchange,提问作者Hamza Khan
相关产品推荐
相关产品推荐

