administrador.base.orm.columnas.columnas_sql - gamboamartin/administrador GitHub Wiki
columnas_sql
La función columnas_sql
construye una cadena SQL que incluye columnas con sus alias correspondientes. Valida los datos de entrada, gestiona la inserción de comas según sea necesario y permite decidir si se deben usar las columnas en bruto o con un alias. El retorno es la cadena SQL generada o un array en caso de error.
Signatura
private function columnas_sql(string $alias_columnas, string $columna_parseada, bool $columnas_en_bruto, string $columnas_sql, string $tabla_nombre):array|string
Parámetros
$alias_columnas
(string): El alias que se asignará a la columna en la consulta SQL.
-
- Descripción: Este alias se usa para identificar la columna en el resultado de la consulta.
$columna_parseada
(string): El nombre de la columna que se va a añadir a la consulta SQL.
-
- Descripción: Este es el nombre real de la columna en la base de datos, que será precedido por el nombre de la tabla.
$columnas_en_bruto
(bool): Indicador de si se debe utilizar la columna en bruto o con un alias.
-
- Indicador de si se debe utilizar la columna en bruto o con un alias.
$columnas_sql
(string): La cadena SQL que contiene las columnas ya procesadas.
-
- Descripción: Esta cadena se irá construyendo conforme se añadan más columnas.
$tabla_nombre
(string): Descripción: Este nombre se usará para prefijar la columna en la consulta SQL.
Retorna
-
string La cadena SQL generada con las columnas y sus alias.
-
- Descripción: La cadena contiene la columna procesada con su alias, si corresponde, y concatenada con la cadena SQL existente.
-
array Si ocurre un error en alguna de las validaciones o en la integración de la coma, se retorna un array con un mensaje de error.
-
- Descripción: Este array describe el error ocurrido durante el proceso.
Explicación Detallada
-
Validación de Datos de Entrada:
-
- Se valida que los datos de entrada sean correctos mediante la función valida_columnas_sql. Si hay un error en esta validación, se retorna un array con un mensaje de error.
-
Integración de la Coma:
-
- La función verifica si es necesario añadir una coma antes de agregar una nueva columna a la cadena SQL. Esto se hace mediante la función coma. Si ocurre un error, se retorna un array con un mensaje de error.
-
Uso de Columnas en Bruto:
-
- Si $columnas_en_bruto es true, se usará la columna sin alias. De lo contrario, se usará el alias especificado en $alias_columnas.
-
Construcción de la Cadena SQL:
-
- La función construye la cadena SQL concatenando el nombre de la tabla, el nombre de la columna y el alias (si corresponde), y lo retorna.
-
Posibles Errores
-
- Error en la Validación: Si hay un problema con los datos de entrada, se retorna un array con un mensaje de error.
-
- Error al Integrar la Coma: Si ocurre un problema al intentar añadir la coma, se retorna un array con un mensaje de error.
Ejemplos
$alias_columnas = 'alias_col';
$columna_parseada = 'nombre_columna';
$columnas_en_bruto = false;
$columnas_sql = 'SELECT ';
$tabla_nombre = 'mi_tabla';
$resultado = $this->columnas_sql($alias_columnas, $columna_parseada, $columnas_en_bruto, $columnas_sql, $tabla_nombre);
if (is_string($resultado)) {
echo "Consulta SQL: " . $resultado;
} else {
echo "Error: " . $resultado['mensaje'];
}
Código de la Función
private function columnas_sql(string $alias_columnas, string $columna_parseada, bool $columnas_en_bruto,
string $columnas_sql, string $tabla_nombre):array|string
{
$valida = $this->valida_columnas_sql(alias_columnas: $alias_columnas,columna_parseada: $columna_parseada,
tabla_nombre: $tabla_nombre);
if(errores::$error){
return $this->error->error(mensaje:'Error al validar datos de entrada',data: $valida);
}
$coma = $this->coma(columnas_sql: $columnas_sql);
if(errores::$error){
return $this->error->error(mensaje:'Error al integrar coma',data: $coma);
}
if($columnas_en_bruto){
$alias_columnas = $columna_parseada;
}
$columnas_sql.= $coma.$tabla_nombre.'.'.$columna_parseada.' AS '.$alias_columnas;
return $columnas_sql;
}