Uno dei modi in cui puoi ottenere ciò che stai cercando di fare è:
Deal:where('status', 'active')
->get()
->groupBy('type')
->map(function($deal) {
return $deal->take(3);
});
Ovviamente, devi controllare se la query restituisce null
o empty
oggetti e si noti che la query restituisce tutti gli attivi Deal
(s) (il filtraggio avviene sulla Collection
) che potrebbe non essere efficiente se ci sono molti Deal
(s)