Mysql
 sql >> Database >  >> RDS >> Mysql

Ottenere più righe per gruppo usando groupBy in Eloquent

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)