Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mehr Zeilen pro Gruppe mit groupBy in Eloquent erhalten

Einer der Wege, wie Sie das erreichen können, was Sie versuchen, ist:

Deal:where('status', 'active')
    ->get()
    ->groupBy('type')
    ->map(function($deal) {
        return $deal->take(3);
    });

Natürlich müssen Sie prüfen, ob die Abfrage null zurückgibt oder empty Objekte und bitte beachten Sie, dass die Abfrage alle aktiven zurückgibt Deal (s) (die Filterung erfolgt auf der Collection ), was möglicherweise nicht effizient ist, wenn viele Deal vorhanden sind (s)