administrador.base.orm._result.totales_rs.21.23.0 - gamboamartin/administrador GitHub Wiki
totales_rs
La función totales_rs se utiliza para calcular los totales de varios campos especificados en un conjunto de registros.
Signatura
private function totales_rs(array $columnas_totales, array $new_array): stdClass|array
Parámetros
- $columnas_totales: (array) Un arreglo de nombres de campos para los cuales se calcularán los totales.
- $new_array: (array) Un arreglo de registros sobre el cual se calcularán los totales.
Retorna
- array|stdClass: Un objeto stdClass que contiene los totales de los campos especificados.
Explicación Detallada
Inicia proporcionando un arreglo de nombres de campos ($columnas_totales) para los cuales deseas calcular los totales y un conjunto de registros ($new_array) sobre los cuales realizar los cálculos.
Inicializa un objeto stdClass llamado $totales_rs que contendrá los totales acumulados.
Itera sobre cada campo especificado en $columnas_totales.
Verifica que el nombre del campo no esté vacío.
Llama a la función total_rs_campo para calcular el total del campo actual en el conjunto de registros y actualizar $totales_rs.
Verifica si hay errores al calcular el total del campo.
Retorna el objeto $totales_rs con los totales de los campos especificados.
Ejemplos
<?php
// Definición de Parámetros
$columnas_totales = ["cantidad", "precio"];
$new_array = [
["cantidad" => 10, "precio" => 20],
["cantidad" => 15, "precio" => 25],
["cantidad" => 20, "precio" => 30]
];
// Llamada a la Función
$resultado = totales_rs($columnas_totales, $new_array);
// Verificación del Resultado
foreach ($columnas_totales as $campo) {
echo "Total para el campo '$campo': " . $resultado->$campo . "\n";
}
//Total para el campo 'cantidad': 45
//Total para el campo 'precio': 75
Código de la Función
private function totales_rs(array $columnas_totales, array $new_array): stdClass|array
{
$totales_rs = new stdClass();
foreach ($columnas_totales as $campo){
$campo = trim($campo);
if($campo === ''){
return $this->error->error(mensaje: 'Error campo esta vacio',data: $campo, es_final: true);
}
$totales_rs = $this->total_rs_campo(campo: $campo,new_array: $new_array,totales_rs: $totales_rs);
if(errores::$error){
return $this->error->error(mensaje: 'Error acumular total',data: $totales_rs);
}
}
return $totales_rs;
}