When searching for what should be a very basic and common test in Laravel, there seems to be much confusion on how to properly check weather or not a model exists and then do something with the model if it does. When searching through stackoverflow, laracasts, and the laravel documentation itself, it does not become anymore clear. If I for example run this query,
$restaurant = Restaurant::find($input["restaurant_id"]);
There are various stack overflow posts that would have me check the count(), use the exists() method which does not seem consistent, or use firstOrFail() which throws an exception. All I want to do is run a call like the one above, check if $restaurant is a valid model, and then do something if it is. There is no need for an exception in my case and I don't want to have to have to run the query again after using something like count() or exists(). The documentation has no useful information on this either which allows 4 different variable types to be returned without any mention of which case will trigger which return. Does anyone have a good handle on this topic?
Laravel checking if record exists
Eloquent ->first() if ->exists()
https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Builder.html#method_find
You don't need to run any additional queries. If the record does not exist, find() will return null. You can just use a simple if to check:
if($restaurant = Restaurant::find($input["restaurant_id"]) {
// Do stuff to $restaurant here
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With