Mysql
 sql >> Base de données >  >> RDS >> Mysql

Obtenir plus de lignes par groupe en utilisant groupBy dans Eloquent

L'une des façons dont vous pouvez réaliser ce que vous essayez de faire est :

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

Bien sûr, vous devez vérifier si la requête renvoie null ou empty objets et veuillez noter que la requête renvoie tous les objets actifs Deal (s) (le filtrage se fait sur la Collection ) qui peut être inefficace s'il y a beaucoup de Deal (s)