Laravel报错:Undefined variable: REQUEST,数据库插入失败
解决ErrorException: Undefined variable: REQUEST问题
核心问题
PHP变量名区分大小写,你在控制器方法中声明的参数是小写的$request,但代码里调用时写成了大写的$REQUEST,导致系统找不到该变量,抛出未定义错误。
修复后的控制器代码
public function insert(Request $request) { $deceased_infos = new deceased_info(); $deceased_infos->lastname = $request->input('dlastname'); $deceased_infos->firstname = $request->input('dfirstname'); $deceased_infos->middlename = $request->input('dmiddlename'); $deceased_infos->save(); return redirect('/resident')->with('status', "Inserted!!!"); }
额外优化建议
- Laravel模型名遵循大驼峰命名规范,建议将
deceased_info改为DeceasedInfo,对应的数据表名保持deceased_infos即可(Laravel默认模型名的复数形式对应数据表名)。 - 可使用批量赋值简化代码,先在模型中添加允许批量赋值的字段:
之后控制器代码可简化为:class DeceasedInfo extends Model { protected $fillable = ['lastname', 'firstname', 'middlename']; }public function insert(Request $request) { DeceasedInfo::create([ 'lastname' => $request->input('dlastname'), 'firstname' => $request->input('dfirstname'), 'middlename' => $request->input('dmiddlename') ]); return redirect('/resident')->with('status', "Inserted!!!"); }
内容的提问来源于stack exchange,提问作者CH405
相关产品推荐
相关产品推荐

