Calculos - mayako/Spaguetti GitHub Wiki
Cálculos
La clase Query
contiene métodos para realizar cálculos con respecto a la consulta creada. Todos estos métodos son métodos ejecutadores, por no que no se requiere el uso del método execute
:
Count
El método count
retorna el numero de registros en la consulta. Por default el argumento proporcionado a la función COUNT
de MySQL es *
, pero esto se puede cambiar, pasando como argumento el nombre de la columna:
# SELECT COUNT(*) FROM users WHERE id = 53;
$count = DB::table('users')->where(['id' => 53])->count();
echo $count; // 1
Max y Min
# SELECT MAX(visit) FROM users;
$max = DB::table('users')->max('visit');
# SELECT MIN(visit) FROM users;
$min = DB::table('users')->min('visit');
Sum
# SELECT SUM(importe) FROM ventas;
$total = DB::table('ventas')->sum('importe');
First
El método first
extrae el primer registro en el conjunto de datos. Si es pasado un argumento indicando que cantidad de registros quieres devolver entonces, retornará un arreglo de elementos.
$user = DB::table('users')->first();
$users = DB::table('users')->first(5);
Value
El método value
devuelve el valor de una columna del primer registro devuelto por la consulta:
$name = DB::table('users')->find(1)->value('name');
El metodo
value
es un método ejecutador, por lo que no es necesario el uso del métodoexecute
.
Pluck
Este método retorna un arreglo del contenido de una sola columna:
$names = DB::from('users)->pluck('name');
Esto resultaría en:
[
'Jhon',
'Juan',
'Carlos'
]
El método pluck
también permite asignar una columnas como indice del arreglo:
$names = DB::from('users)->pluck('name', 'id');
Esto resultaría en:
[
1 => 'Jhon',
12 => 'Juan',
34 => 'Carlos'
]
Si algunas de los indices se repite, puedes agrupar los elementos:
$names = DB::from('users)->pluck('name', 'rol', true);
Esto resultaría en:
[
1 => ['Jhon', 'Juan'],
2 => 'Carlos'
]