Laravel用户模型未在JSON响应中处理

Laravel用户模型未在JSON响应中处理,json,laravel,response,Json,Laravel,Response,我有一个Laravel5.8API,其中用户集合的JSON响应按预期工作,但模型的JSON响应失败 namespace-App\Traits; 使用Illumb\Database\Elount\Model; 使用照明\支持\收集; 特质反应器 { 私有函数成功响应($data,$code) { return response()->json($data,$code); } 受保护的函数错误响应($message,$code) { return response()->json(['error'=

我有一个Laravel5.8API,其中用户集合的JSON响应按预期工作,但模型的JSON响应失败

namespace-App\Traits;
使用Illumb\Database\Elount\Model;
使用照明\支持\收集;
特质反应器
{
私有函数成功响应($data,$code)
{
return response()->json($data,$code);
}
受保护的函数错误响应($message,$code)
{
return response()->json(['error'=>$message,'code'=>$code],$code);
}
受保护的函数showAll(集合$Collection,$code=200)
{
返回$this->successResponse(['data'=>$collection],$code);
}
受保护功能showOne(型号$Model,$code=200)
{
返回$this->successResponse(['data'=>$model],$code);
}
}
下面是调用响应的控制器方法

公共功能索引()
{
$users=User::all();
返回$this->showAll($users);
}
公共功能更新(请求$Request,$id)
{
$user=user::findOrFail($id);
$rules=[
“email”=>“email |唯一:用户,email”。$user->id,
“密码”=>“最小值:6 |已确认”
];
如果($request->has('name')){
$user->name=$request->name;
}
如果($request->has('email')&&&$user->email!=$request->email){
$user->verified=user::UNVERIFIED\u user;
$user->Verification_token=user::generateVerificationCode();
$user->email=$request->email;
}
如果($request->has('password')){
$user->password=bcrypt($request->password);
}
如果(!$user->isDirty()){
返回$this->errorResponse('您需要指定要更新的更改',422);
}
$user->save();
$this->showOne($user);
}

index方法作为集合处理效果很好,但是使用模型的update方法返回空(没有任何内容)。我已经确认,
$data
变量确实包含预期的模型信息,因为我可以打印一个JSON编码来显示我想要的结果。由于某种原因,它不能在
response()->json()
中工作。

对于它的实际功能,代码非常复杂

这里有一个问题,不用说要呈现响应,需要返回

    $user->save();

    $this->showOne($user);
}
应该是:

    $user->save();

    return $this->showOne($user);
}

好处:我会研究响应转换,以备将来参考。你可以用它来验证输入,而不用做太多的if逻辑。

谢谢你的回答,当它很简单时,你会感到沮丧。我一直在遵循udemy的教程来设置这个API,并尝试使用最好的资源,但是嘿嘿。谢谢你的帮助如果它能帮你解决问题,请把它标记为答案,这样它可以帮助人们以后进入这篇文章。