Tengo una tabla que contiene, entre otras columnas, una columna de versiones del navegador. Y simplemente quiero saber por el conjunto de registros, cuántos de cada tipo de navegador hay. Entonces, necesito terminar con algo como esto: Total Records: 10; Internet Explorer 8: 2; Cromo 25: 4; Firefox 20: 4 (todos sumando 10)
Aquí están mis dos peniques:
$user_info = Usermeta::groupBy('browser')->get();
Por supuesto que solo contiene los 3 navegadores y no el número de cada uno. ¿Cómo puedo hacer esto?
DB::table('usermetas')->..
másUsermeta::..
?Esto funciona para mí (Laravel 5.1):
fuente
Gracias Antonio,
Acabo de agregar el
lists
comando al final, por lo que solo devolverá una matriz con clave y recuento:fuente
list()
está en desuso y se renombra apluck()
laravel.com/docs/5.2/upgrade#upgrade-5.2.0Si desea obtener una colección, groupBy y count:
¡Salud!
fuente
Funciona de esa manera también, un poco más ordenado.
getQuery()
simplemente devuelve el constructor subyacente, que ya contiene la referencia de la tabla.fuente
config/database.php
strict
clave dentro de lamysql
configuración de conexiónfalse
fuente
Prueba con esto
fuente
Aquí hay una forma más Laravel de manejar el grupo sin la necesidad de usar declaraciones sin formato.
fuente
Si desea obtener datos ordenados, use esto también
fuente
Este es un ejemplo cuyos resultados cuentan las publicaciones por categoría.
fuente