Simple use-case: you want to filter only those categories which have at least one product. Or course, you write Category::with('products')->... but how do you filter out those empty categories? Those with no product? There's an app function for that: has().
Let's show the full code.
app\Category.php:
class Category extends Model {
    // ...
    public function products() {
        return $this->hasMany('App\Product');
    }
    // ...
}
app\Http\Controller\CategoriesController.php:
function getIndex() {
    $categories = Category::with('products')->has('products')->get();
    return view('categories.index', compact('categories'));
}
So, as you can see, it's a simple filter-function ->has('products') - it will filter out the categories without products.
                                                
         
No comments or questions yet...