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;

    }