Laravel 流明未正确更新
Laravel lumen doesn't update correctly
当我想用邮递员更新名字时,名字会被更新,但不会更新到我想要更新的名字。
例如,我想更新姓名:Jan 为 Pieter。
但是当我将 Pieter 这个名字放在邮递员中时,它会更新,但不会更新为 Pieter 这个名字。更新后的名称现在是 Tijn。
如果有帮助的话,这是我的代码
$router->put('dogs/{id}', function(Request $request, $id){
$data=[];
if ($request->has('name')){
$data['name'] = $request->input('name');
}
$dog = DB::table('dogs')
->where('id', $id)
->update($data);
return response()->json($dog);
});
获取整个请求正文并使用该数组更新字段不是一个好的做法,即使它们具有相同的名称也是如此。
尝试以下方法:
$dog = DB::table('dogs')
->where('id', $request->route()->parameter('id'))
->update(['name' => $request->input('name')]);
因为 ID 匹配可以解决您的问题。
此外,由于您提到邮递员,请记住您必须使用 x-www-form-urlencode
选项卡而不是正常的 form-data
来执行 PUT
或 PATCH
操作。
当我想用邮递员更新名字时,名字会被更新,但不会更新到我想要更新的名字。
例如,我想更新姓名:Jan 为 Pieter。 但是当我将 Pieter 这个名字放在邮递员中时,它会更新,但不会更新为 Pieter 这个名字。更新后的名称现在是 Tijn。
如果有帮助的话,这是我的代码
$router->put('dogs/{id}', function(Request $request, $id){
$data=[];
if ($request->has('name')){
$data['name'] = $request->input('name');
}
$dog = DB::table('dogs')
->where('id', $id)
->update($data);
return response()->json($dog);
});
获取整个请求正文并使用该数组更新字段不是一个好的做法,即使它们具有相同的名称也是如此。
尝试以下方法:
$dog = DB::table('dogs')
->where('id', $request->route()->parameter('id'))
->update(['name' => $request->input('name')]);
因为 ID 匹配可以解决您的问题。
此外,由于您提到邮递员,请记住您必须使用 x-www-form-urlencode
选项卡而不是正常的 form-data
来执行 PUT
或 PATCH
操作。