Php “流明”;把「;请求不';t更新
下面是更新MySQL表的代码片段。我正在用邮递员PUT请求测试我的后端。这段代码似乎没有正确地更新MySQL,相反,它将MySQL单元格设置为空值,即使我的POSTMAN结果中显示“更新成功” 下面是Lumen PHP代码Php “流明”;把「;请求不';t更新,php,laravel,postman,lumen,Php,Laravel,Postman,Lumen,下面是更新MySQL表的代码片段。我正在用邮递员PUT请求测试我的后端。这段代码似乎没有正确地更新MySQL,相反,它将MySQL单元格设置为空值,即使我的POSTMAN结果中显示“更新成功” 下面是Lumen PHP代码 public function updateSensorPackage(Request $request, $id){ $sensorPackage = AddSensorPackage:: find($id); $sensorPackage -> elde
public function updateSensorPackage(Request $request, $id){
$sensorPackage = AddSensorPackage:: find($id);
$sensorPackage -> elderly_id = $request -> input('elderly_id');
$sensorPackage -> centre_id = $request -> input('centre_id');
$sensorPackage -> package_id = $request -> input('package_id');
$sensorPackage -> beacon_id = $request -> input('beacon_id');
$sensorPackage -> created_by = $request -> input('created_by');
$sensorPackage -> save();
return response('Updated Successfully', 200);
}
我将POSTMAN头设置为“Content-type:Application/json”,并在请求体中发送参数。下面我粘贴了邮递员的“放置”请求
运行dd($request->all())后代码>我得到了下面的结果
我的PHP版本是7+,Lumen版本是5.5.2您应该尝试发送POST请求,而不是PUT,然后在请求中添加一个新的参数,如下所示
_method=“PUT”
我不记得在哪里找到的,但它与底层的symfony请求类有关
编辑:找到了
您还可以使用“x-www-url-formurlencoded”设置邮递员发送请求参数
将参数写入
x-www-form-urlencode
看魔术吧,它工作得很好。原因是laravel只是创建了一种PUT请求的感觉,它不能以表单数据或原始数据的形式给出
Accept: 'application/json'
'Content-Type': 'application/json'
尝试$sensorPackage->update()代码>instead@Hussein,不工作:)保留此更改并访问如下属性:AddSensorPackage
的$filleble
属性是否包含一个包含所有要更新字段的数组?@IvankaTodorova$filleble
与批量分配有关,这不是他的情况在x-www-form-urlencoded的情况下,整个表单数据作为一个长查询字符串发送。查询字符串包含由&字符分隔的名称-值对,例如field1=value1&field2=value2等。您是对的,但该数据是经过编码的,因此无需担心。或者,您可以自己将值作为参数添加到查询字符串中。这实际上是一个更完整的响应