在Laravel API请求中更新多对多关系后返回模型时出错

我正在设置Laravel API,并且正在处理User模型。

它具有两个关系: -一对多关系:角色 -多对多关系:团队

当我通过API请求更新一个用户时,它不会发送回更新后的多对多关系。

这是现在的更新功能:

public function update(Request $request,$id)
{
    $user = User::with('role','teams')->findOrFail($id);
    $user->update($request->all());
    if ($request->teams) {
        $user->teams()->sync($request->teams);
    }
    if ($request->role) {
        $user->role()->associate(Role::findOrFail($request->role));
    }
    $user->save();
    return response()->json($user,200);
}

我正在发送一个User对象:

User {
  email: "admin@admin.com"
  first_name: "Admin"
  teams: [4,5,6]
  ...
}

它在数据库中正确更新,但是请求的返回对象在teams数组中不包含任何值:

User {
  email: "admin@admin.com"
  first_name: "Admin"
  teams: []
  ...
}
woshiriluobingcheng1 回答:在Laravel API请求中更新多对多关系后返回模型时出错

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3151230.html

大家都在问