'How to check if record is already exists and then update or insert in laravel?

I am trying to check first if data already exists or not. If data already exists, then update function otherwise insert a new record. It's working when inserting a new record, but I don't want to be duplicate rows in future.

    public function store(Request $request)
    {
        $requestData = $request->all();
        
            $jobseeker = new Jobseeker();
            $jobseeker->fullname= $requestData['full name'];
            $jobseeker->gender= $requestData['Gender'];
            $jobseeker->messenger_user_id= $request->{'messenger user id'};
            $jobseeker->save();
    }

Here is how I tried, I check if the messenger user id already exists or not, if messenger user id already exists I want to update the existing row, otherwise I want to insert a new row.

    public function store(Request $request,$messenger_user_id)
    {
        $requestData = $request->all();

        $my_msg_id = Jobseeker::where('messenger_user_id',$requestData['messenger user id'])->first();
        
        if (is_null($my_msg_id)) {
          $jobseekers = Jobseeker::find($messenger_user_id);
          $jobseeker->fullname= $requestData['full name'];
          $jobseeker->gender= $requestData['Gender'];
          $jobseeker->messenger_user_id= $request->{'messenger user id'};
        }
        else{
            $jobseeker = new Jobseeker();
            $jobseeker->fullname= $requestData['full name'];
            $jobseeker->gender= $requestData['Gender'];
            $jobseeker->messenger_user_id= $request->{'messenger user id'};
            $jobseeker->save();
        }

    }


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source