Una de las formas en que puede lograr lo que está tratando de hacer es:
Deal:where('status', 'active')
->get()
->groupBy('type')
->map(function($deal) {
return $deal->take(3);
});
Por supuesto, debe verificar si la consulta devuelve null
o empty
objetos y tenga en cuenta que la consulta devuelve todos los objetos activos Deal
(s) (el filtrado ocurre en la Collection
) que podría no ser eficiente si hay muchos Deal
(s)