Logo Webbouw Plus

Laravel withCount gebruiken om door te filteren

december 21, 2021

Met withCount tel je het aantal relaties. Bijvoorbeeld het aantal orders voor een product, dat kan er ongeveer zo uitzien

$products = Products::withCount('orders')->where('status', 1)->get();

Filteren op withCount

Stel dat je alleen de producten wilt hebben die een order hebben. Je kan dit doen met havingRaw.

$products = Products::withCount('orders')->where('status', 1)->havingRaw('orders_count > 0')->get();

Has optie gebruiken

Hoef je niet het aantal orders te weten maar wil je wel filteren op het aantal orders, dan kan je ook has gebruiken.
Bijvoorbeeld als je het aantal producten wilt weten die minimaal 3 orders hebben.

Products::has('orders', '>', 3)->where('status', 1)->get();

WEBBOUWPLUS

Marcel van Doornen - Freelance Laravel developer
Marcel van Doornen, freelance Laravel developer
Ben je benieuwd hoe ik jou kan helpen?
Neem contact met mij op