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;
}