I want to add a condition while storing data in database that if the phone number is already exist in table then get the user id! otherwise add a new user how can a do this?
function store(Request $request){
if (Client::where('phone_number', '=', Input::get('phone_number'))->exists()) {
// user found
}
$client = new client();
$client->name = $request->get('name');
$client->phone_number = $request->get('phone_number');
$client->email = $request->get('email');
$client->save();
return redirect('faq')->with('success', 'Task Created Successfully!');
}
CodePudding user response:
Why not use updateOrCreate?
Client::updateOrCreate(
['phone_number' => $request->get('phone_number')],
['name' => $request->get('name'), 'email' => $request->get'email')],
);
If you only need to fetch or create a Client without updating them, use firstOrCreate instead
CodePudding user response:
You can use your logic like this.
function store(Request $request){
$client = Client::where('phone_number', '=', Input::get('phone_number'))-
>first();
if (empty($client)) {
$client = new client();
}
$client->name = $request->get('name');
$client->phone_number = $request->get('phone_number');
$client->email = $request->get('email');
$client->save();
return redirect('faq')->with('success', 'Task Created Successfully!');
}
