La combinación de las clausulas having
y raw
, nos ayudará, crear consultas más básicas
Por ejemplo, si necesitamos crear una consulta que devuelva la cantidad de productos que correspondan a aquellas categorías cuyo id sea mayor de 1.
Podemos entonces construir la consulta de este modo.
Raw
indicara el carácter directo de la consulta, group by
agrupará a los productos por categoría, Count los contará y Having devolverá aquellos con categoría >1
SELECT *, COUNT(*) FROM products GROUP BY category_id HAVING count(*) > 1; DB::table('products') ->select('*', DB::raw('COUNT(*) as products_count')) ->groupBy('category_id') ->having('products_count', '>', 1) ->get();
Y listo, esto es todo.
Espero modestamente que este artículo, sirva de ayuda a alguien.
Gracias.
Subir montañas hermana a los hombres……