administrador.base.orm.sumas.columnas_suma.21.16.0 - gamboamartin/administrador GitHub Wiki

columnas_suma

Esta función pública se encarga de generar las columnas calculadas para sumar campos en una consulta SQL, utilizando la función data_campo_suma() para preparar los datos necesarios.

Signatura


final public function columnas_suma(array $campos): array|string

Parámetros

$campos (array): Un array asociativo donde las claves representan los alias para las columnas calculadas y los valores son los nombres de los campos sobre los cuales se realizará la suma.

Retorna

  • array|string: Un array con las columnas calculadas para la consulta SQL, o un mensaje de error si alguno de los parámetros está vacío o si ocurre un error durante el proceso.

Explicación Detallada

Validación de campos: Se verifica si el array $campos está vacío. Si es así, se devuelve un mensaje de error.

Generación de columnas calculadas: Se inicializa la variable $columnas como una cadena vacía. Luego, se itera sobre el array $campos para generar las columnas calculadas utilizando la función data_campo_suma().

Preparación de los datos: Se llama a la función data_campo_suma() para preparar los datos necesarios para cada columna calculada. Si se produce un error durante este proceso, se devuelve un mensaje de error.

Concatenación de columnas calculadas: Se concatenan las columnas calculadas a la cadena $columnas utilizando el formato adecuado.

Retorno de datos o mensaje de error: Finalmente, se devuelve el array de columnas calculadas si el proceso se realizó correctamente, o un mensaje de error si alguno de los parámetros está vacío o si ocurre un error durante el proceso.

Ejemplos

// Ejemplo: Generar columnas calculadas para sumar campos en una consulta SQL
$campos = ["total_ventas" => "monto", "total_gastos" => "gasto"];
$resultado_columnas = columnas_suma($campos);
if (is_string($resultado_columnas)) {
    // Manejar el mensaje de error
    echo "Error: $resultado_columnas";
} else {
    // Usar el array de columnas calculadas en la consulta SQL
    var_dump($resultado_columnas);
}


Código de la Función

final public function columnas_suma(array $campos): array|string
    {
        if(count($campos)===0){
            return $this->error->error(mensaje:'Error campos no puede venir vacio',data: $campos, es_final: true);
        }
        $columnas = '';
        foreach($campos as $alias =>$campo){
            if(is_numeric($alias)){
                return $this->error->error(mensaje: 'Error $alias no es txt $campos[alias]=campo',data: $campos,
                    es_final: true);
            }
            if($campo === ''){
                return $this->error->error(mensaje: 'Error $campo esta vacio $campos[alias]=campo',data: $campos,
                    es_final: true);
            }
            $alias = trim($alias);
            if($alias === ''){
                return $this->error->error(mensaje: 'Error $alias esta vacio',data: $alias, es_final: true);
            }

            $data = $this->data_campo_suma(alias: $alias, campo:$campo, columnas:  $columnas);
            if(errores::$error){
                return $this->error->error(mensaje: 'Error al agregar columna',data: $data);
            }
            $columnas .= "$data->coma $data->column";

        }
        return $columnas;
    }