Saltar al contenido

Imagina que tienes una tabla de proyectos con 3 estados diferentes y que deseas saber el número de proyectos en cada estado con una única consulta. Seguramente, si estás empezando en el mundo de Laravel o bases de datos, no sabrás muy bien cómo hacer esto.

Es cierto que podemos realizar una consulta para cada estado con una cláusula where para sacar el count de cada estado, pero si tenemos 3 estados, deberemos hacer 3 consultas, imagina si tienes 10 estados.

Viendo que no es viable realizar una consulta para cada estado, tenemos que buscar la forma de realizar esta tarea en una única consulta de la forma más eficiente.

Mi recomendación para calcular totales en Laravel es utilizar agregados condicionales, en este caso a través de una cláusula case when then de la siguiente forma.

En el caso anterior la consulta retornará únicamente 2 columnas generadas de forma dinámica a través de operaciones contra la columna banned de la tabla users. notBanned retornará el número de usuarios no baneados y banned retornará el número de usuarios baneados en nuestro sitio.

Como puedes ver, esto es mucho más eficiente que realizar una consulta para cada estado ya que en una misma consulta podemos obtener todos los resultados.

school Curso completo

Curso Laravel 12
Completo 2026

El único curso 100% actualizado que incluye Laravel 12, Livewire 3, Vue 3, React 19 e Inertia 2. Aprende con proyectos reales y las últimas funcionalidades.

access_time 8 horas de contenido
layers 4 tecnologías en 1
update 100% actualizado
code Proyectos prácticos
Ver Curso Laravel 12 arrow_forward

star Incluido en cualquier suscripción

Rutas de aprendizaje