DEV Community

Cover image for Laravel 9 - updateOrCreate
Sandro Jhuliano Cagara
Sandro Jhuliano Cagara

Posted on • Edited on

Laravel 9 - updateOrCreate

If you need to check if the record exists, and then update it, or create a new record otherwise, you can do it in one sentence. Use Eloquent method: updateOrCreate().

Instead of this:

$flight = Flight::where('departure', 'Oakland') ->where('destination', 'San Diego') ->first(); if ($flight) { $flight->update(['price' => 99, 'discounted' => 1]); } else { $flight = Flight::create([ 'departure' => 'Oakland', 'destination' => 'San Diego', 'price' => 99, 'discounted' => 1 ]); } 
Enter fullscreen mode Exit fullscreen mode

You can do it by this:

$flight = Flight::updateOrCreate( ['departure' => 'Oakland', 'destination' => 'San Diego'], ['price' => 99, 'discounted' => 1] ); 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)