How are you calling your API? browser? cURL? POST? GET?
Your signup() looks fine.
It is probably your calling code.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
I have created a user register API using laravel passport. when I hit the API then it created duplicate records with the same number sometimes.
What am I doing wrong?
Here's my code, if someone can help me.
public function signup(Request $request) {
$validator = Validator::make($request->all(), [
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|unique:users,email',
'phone' => ['required','unique:users', 'min:10', 'max:13'],
]);
if ($validator->fails()) {
$this->response['message'] = $validator->errors()->first();
return response()->json($this->response, 400);
}
$userCheck = User::where('phone', $request['phone'])->first();
if ($userCheck) {
$this->response['message'] = "The user already exists with this number";
return response($this->response, 400);
}
$user = User::create([
'first_name' => $request['first_name'],
'last_name' => $request['last_name'],
'email' => $request['email'],
'phone' => $request['phone'],
]);
$token = $user->createToken('Api access token')->accessToken;
return (new UserResource($user, $token))->additional([
'status' => 1,
'message' => "registerd successfully"
]);
}
Please or to participate in this conversation.