可能因为环境的原因,有时候在获取请求信息的时候,多出一些多余的请求字段,导致提交失败。
比如:
你的表单里面,有id,name,gender,password,__token__这些,你用$data = $request->param()获取信息。
接着dd($data)打印数据。
杯具的产生多余字段,例如多了[“/admin/Product/InsertProduct_html”] => "",一般这种多余信息的格式就是["***_html"]。
多出来的字段会导致提交失败,本来就是不存在东西嘛。
咋办?
四个解决方法1,使用unset方法,销毁指定的变量
unset($data["/admin/Product/InsertProduct_html"]);
这种办法简单粗暴,如果变量名称换了,就失效。
2,使用post接收信息
$data = $request->post();
但是post接收信息里面没有id。
所以需要补充 $id = $data["id"],补全下id,不然会报错缺少更新条件。
3,仍然使用post接收信息
使用post接收信息,会接收不到id,上面的方法是补全了下id,这次我们补全到具体操作上,例如放到update里面。
return UserModel::update($data, ['id' => $id]);
4,接收信息时,强行指定接收字段
$data = $request->param('id', 'name', 'gender', '__token__');
推荐用最后两种,遇到的话看着弄吧。