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 ]); }
You can do it by this:
$flight = Flight::updateOrCreate( ['departure' => 'Oakland', 'destination' => 'San Diego'], ['price' => 99, 'discounted' => 1] );
Top comments (0)