大佬教程收集整理的这篇文章主要介绍了PHP-为什么update或save()在laravel 5.8中不起作用?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试更新表(从我的React Native应用程序获取到laravel),并且总是收到错误消息.这就是我获取的方式:
fetch("http://192.168.2.45/BACkend/public/api/checkuser", {
method: "POST",
body: JSON.Stringify(user),
headers: new Headers({
"Content-Type": "application/json"
})
})
我的Laravel API:
Route::post('update','mainController@update');
public function update(request $request)
{
$email = $request->email;
$error_message="DENIED";
$success = "success";
if (user::where('email', '=',$email)->count() > 0) {
$user = user::where('email', '=',$email);
$user->image_name = $request->email;
$user->save()--->
here i get my error
( i have also tried where(....)->update(....)
and i get the same error)
return response()->json(['message' => $success]);
}else{
return response()->json(['message' => $error_message]);
}
}
解决方法:
当使用返回结果的地方是查询生成器,而不是用户模型中可以调用CRUD操作的项.因此,您应该返回结果并调用保存,因此将其替换为以下代码:
if ($user = user::where('email', $email)->first()) {
$user->image_name = $email;
$user->save();
return response()->json(['message' => $success]);
}
// no need for an else block
return response()->json(['message' => $error_message]);
并说明first()如果未找到记录将返回null,这意味着错误的条件,它将返回您的错误消息,如果找到,它将把image_name更新为电子邮件. (这没有任何意义,但这是您的代码)
以上是大佬教程为你收集整理的PHP-为什么update或save()在laravel 5.8中不起作用?全部内容,希望文章能够帮你解决PHP-为什么update或save()在laravel 5.8中不起作用?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。