这是我的朋友请求接受和拒绝的代码,但是一个用户多次发送请求同一用户。这不是权限...我如何才能完成完美的工作?这是我的代码。 您可以在数据库中看到问题。 如何分离2个API
public function request(Request $request) {
$input =$request->all();
$user = User::find($request->user_id_1);
if(empty($user)){
return [
'status' => 'error',
'msg' => 'no user found'
];
if($request->approved == "yes"){
$friend = new Friend();
$friend->user_id_1 = $user->id;
$friend->user_id_2 = Auth::guard('api')->user()->id;
$friend->approved = "yes";
$friend->save();
$data = array("status" => $user);
return $data;
}
else{
$friend->approved = false;
$friend->save();
return [
'user_id' => $user->id,
'true' => true
];
}
}
}
答案 0 :(得分:0)
您要在相同的user_id_1
有效负载中发送user_id_2
和request
吗?如果是这样,在将request
保存在数据库中之前,请检查user_id_1,user_id_2
以及数据库中的批准状态,反之亦然。如果数据库中存在任何记录,则可以向用户提供error
消息。
希望获得帮助。
答案 1 :(得分:0)
尝试这样的事情。
$request = 'Your request db model'::where([['user_id_1' => $request->user_id_1],['user_id_2' => $request->user_id_2]])
->orWhere([['user_id_1' => $request->user_id_2],['user_id_2' => $request->user_id_1]])->get();
if($request != null){
//say user you already sent a request.
}
告诉我是否行得通。祝你好运。