There are a variety of ways to do this.
#1 In the query itself, you can filter models that do not have any related items:
Model::has('posts')->get()
#2 Once you have a model, if you already have loaded the collection (which below #4 checks), you can call the count()
method of the collection:
$model->posts->count();
#3 If you want to check without loading the relation, you can run a query on the relation:
$model->posts()->exists()
#4 If you want to check if the collection was eager loaded or not:
if ($model->relationLoaded('posts')) {
// Use the collection, like #2 does...
}
Note: Replace posts
with the name of your relationship in the above examples.