【发布时间】:2019-05-16 18:35:29
【问题描述】:
这是我得到的错误:“SQLSTATE [23000]:完整性约束违规:1048 Le champ 'username' ne peut être vide (null) (SQL: update user set username = ?, pseudo = ?, email = ?, password = ? 其中id = 29)"
public function updateUser($id, Request $request)
{
if ($id != NULL) {
$username = $request->get('username');
$pseudo = $request->get('pseudo');
$email = $request->get('email');
$password = $request->get('password');
$retour = testToken();
if($retour == TRUE) {
$data = User::where('id', $id)->update(array('username'=>$username, 'pseudo'=>$pseudo, 'email'=>$email, 'password'=>$password));
return response()->json([
'message'=>'OK',
'data'=>$data]
,200);
} else {
return response()->json([
'message'=>'Forbidden',
]
,403);
}
} else {
return response()->json([
'message'=>'Not found',
]
,404);
}
}
【问题讨论】:
-
可能没有什么不同,但尝试切换变量注入的顺序:
updateUser(Request $request, $id)。保存前确认值(dd($request->input());),并确保您的表单/ajax 请求/发送正确数据的任何内容。 -
我尝试过,但没有任何改变
-
继续其余的调试过程。
$username是null,所以在转换的某个地方,数据没有被正确发送或接收。 -
你的内容类型是什么?