Laravel 5中Request与DB未定义问题技术咨询
解决Laravel 5中Request和DB未定义的报错问题
嘿,这个问题我之前在Laravel 5开发时也踩过坑!报错提示Request和DB未定义,本质是因为你没有在控制器文件顶部导入对应的类,Laravel没法识别它们。
解决方案:添加类导入语句
在你的控制器文件最顶部(class定义之前),添加以下两行use声明:
use Illuminate\Http\Request; use Illuminate\Support\Facades\DB;
修改后的完整代码示例
<?php namespace App\Http\Controllers; // 保留控制器默认的命名空间 use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class YourController 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.'; } }
额外说明
- Laravel 5及以后版本不会自动导入这些核心类/门面,必须手动通过
use语句声明,否则PHP会默认查找当前命名空间下的类,而非Laravel框架提供的类。 - 如果你临时不想添加
use语句,也可以用完全限定类名替代,比如把Request $request改成\Illuminate\Http\Request $request,DB::update改成\Illuminate\Support\Facades\DB::update,但这种写法会让代码冗余,更推荐用use导入的方式。
内容的提问来源于stack exchange,提问作者Hamza Khan
相关产品推荐
相关产品推荐

