Laravel 9 - updateOrCreate

sandrocagara

Sandro Jhuliano Cagara

Posted on June 5, 2022

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
💖 💪 🙅 🚩
sandrocagara
Sandro Jhuliano Cagara

Posted on June 5, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Laravel 9 - updateOrCreate
laravel Laravel 9 - updateOrCreate

June 5, 2022