Laravel withCount gebruiken om door te filteren
published 21-12-2021
Een artikel hoe withCount te gebruiken in Laravel. 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 methavingRaw.
$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 ookhas gebruiken.
Bijvoorbeeld als je het aantal producten wilt weten die minimaal 3 orders hebben.
Products::has('orders', '>', 3)->where('status', 1)->get();