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étodo execute.

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'
]