Ett av sätten du kan uppnå det du försöker göra är:
Deal:where('status', 'active')
->get()
->groupBy('type')
->map(function($deal) {
return $deal->take(3);
});
Naturligtvis måste du kontrollera om frågan returnerar null
eller empty
objekt och observera att frågan returnerar alla aktiva Deal
(s) (filtreringen sker på Collection
) vilket kan vara ineffektivt om det finns många Deal
(s)