administrador.base.orm._result.total_rs_campo.21.23.0 - gamboamartin/administrador GitHub Wiki
total_rs_campo
La función total_rs_campo se utiliza para calcular el total de un campo específico dentro de un conjunto de registros.
Signatura
private function totales_rs_acumula(string $campo, array $new_array, stdClass $totales_rs): array|stdClass
Parámetros
- $campo: (string) El nombre del campo para el cual se calculará el total.
- $new_array: (array) Un arreglo de registros sobre el cual se calculará el total.
- $totales_rs: (stdClass) Un objeto stdClass que contiene los totales acumulados hasta el momento.
Retorna
- array|stdClass: Un objeto stdClass que contiene el total del campo especificado.
Explicación Detallada
Inicia proporcionando el nombre del campo ($campo) para el cual deseas calcular el total, el conjunto de registros ($new_array) en el que deseas realizar los cálculos y un objeto stdClass ($totales_rs) que contendrá los totales acumulados.
Verifica que el nombre del campo no esté vacío.
Inicializa el total para el campo especificado en el objeto $totales_rs.
Llama a la función totales_rs_acumula para acumular los totales del campo en el objeto $totales_rs.
Verifica si hay errores al acumular los totales.
Retorna el objeto $totales_rs con el total del campo especificado.
Ejemplos
// Definición de Parámetros
$campo = "cantidad";
$new_array = [
["cantidad" => 10],
["cantidad" => 15],
["cantidad" => 20]
];
$totales_rs = new stdClass();
// Llamada a la Función
$resultado = total_rs_campo($campo, $new_array, $totales_rs);
// Verificación del Resultado
echo "Total para el campo 'cantidad': " . $resultado->$campo;
//Total para el campo 'cantidad': 45
Código de la Función
private function total_rs_campo(string $campo, array $new_array, stdClass $totales_rs): array|stdClass
{
$campo = trim($campo);
if($campo === ''){
return $this->error->error(mensaje: 'Error campo esta vacio',data: $campo, es_final: true);
}
$totales_rs->$campo = 0;
$totales_rs = $this->totales_rs_acumula(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;
}