Laravel 好友请求只发送一次

Laravel 好友请求只发送一次,laravel,laravel-5,eloquent,Laravel,Laravel 5,Eloquent,这是我的朋友请求接受和拒绝代码,但一个用户发送多次请求同一用户。这不是权限…我如何才能完成完美的工作?这是我的密码。 您可以看到数据库中的问题。 如何分离2个API 发送好友请求 接受/拒绝请求 公共功能请求(请求$request){ $input=$request->all(); $user=user::find($request->user\u id\u 1); if(空($user)){ 返回[ '状态'=>'错误', 'msg'=>'未找到用户' ]; 如果($request->app

这是我的朋友请求接受和拒绝代码,但一个用户发送多次请求同一用户。这不是权限…我如何才能完成完美的工作?这是我的密码。 您可以看到数据库中的问题。 如何分离2个API

  • 发送好友请求
  • 接受/拒绝请求
  • 公共功能请求(请求$request){
    $input=$request->all();
    $user=user::find($request->user\u id\u 1);
    if(空($user)){
    返回[
    '状态'=>'错误',
    'msg'=>'未找到用户'
    ];
    如果($request->approved==“yes”){
    $friend=新朋友();
    $friend->user\u id\u 1=$user->id;
    $friend->user\u id\u 2=Auth::guard('api')->user()->id;
    $friend->approved=“是”;
    $friend->save();
    $data=数组(“状态”=>$user);
    返回$data;
    }
    否则{
    $friend->approved=false;
    $friend->save();
    返回[
    'user_id'=>$user->id,
    “true”=>true
    ];
    }
    }
    
    }
    您是否在同一
    请求中发送
    用户id\u 1
    用户id\u 2
    ?如果是,在数据库中保存
    请求之前,请检查
    用户id\u 1、用户id\u 2
    和数据库中的已批准状态,反之亦然。如果数据库中存在任何记录,您可以向用户提供
    错误
    消息


    希望这有帮助。

    试试这样的方法

    $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.
            }
    

    告诉我这是否有效。祝你好运。

    我该怎么做-@鲁希特Udakara@RuhithUdakara不要对同一个问题发布多个答案。编辑并更新您以前的答案。