Php 尝试更新属性导致批量更新[Laravel 5]
我试图在数据库中更改单个项的值,我使用first()获取一个项,但由于某种原因,当我尝试此函数时,每个具有相同主键的项都会让经过身份验证的用户在1更新属性“AreFriend”,为什么Php 尝试更新属性导致批量更新[Laravel 5],php,laravel,laravel-5.3,Php,Laravel,Laravel 5.3,我试图在数据库中更改单个项的值,我使用first()获取一个项,但由于某种原因,当我尝试此函数时,每个具有相同主键的项都会让经过身份验证的用户在1更新属性“AreFriend”,为什么 public function acceptrequest($id) { $user = app('Dingo\Api\Auth\Auth')->user(); if (!$targetuser = User::find($id)) { return response(
public function acceptrequest($id)
{
$user = app('Dingo\Api\Auth\Auth')->user();
if (!$targetuser = User::find($id)) {
return response()->json(['status' => "The requested resource does not exists!"], 403);
}
if ($relation = $user->requestspending()->where('user_id', $targetuser->user_id)->first()) {
Friend::unguard();
$relation->AreFriend = 1;
$relation->save();
Friend::unguard();
Friend::reguard();
return response()->json(['status' => "Request accepted!"], 200);
} else {
return response()->json(['status' => "You do not have an invitation from this user!"], 403);
}
}
在我的数据库中,与$user id的关系被更新。变量$relation是一个项,而不是一个集合。
$user->requestExpensing()->where('user\u id',$targetuser->user\u id)->first()
已经这样做了。我得到的关系很好,只是当我尝试更改$relation的属性时,它会更新所有内容。dd($relation)的输出是什么代码>?但是,如何调用acceptrequest()
函数?(该函数名中缺少camelCase)它返回一个App\Http\Classes\Friend模型,我得到正确的关系,我从API路由调用function。用户id是主键吗?