En af måderne, hvorpå du kan opnå det, du forsøger at gøre, er:
Deal:where('status', 'active')
->get()
->groupBy('type')
->map(function($deal) {
return $deal->take(3);
});
Selvfølgelig skal du kontrollere, om forespørgslen returnerer null eller empty objekter, og bemærk venligst, at forespørgslen returnerer alle de aktive Deal (s) (filtreringen sker på Collection ), hvilket kan være ueffektivt, hvis der er masser af Deal (s)