administrador.base.orm.columnas.columnas_sql_array - gamboamartin/administrador GitHub Wiki
columnas_sql_array
La función columnas_sql_array es una función privada que itera sobre un array de columnas, asigna y valida sus atributos, completando arrays con la información de las columnas proporcionada. A continuación, se detalla su funcionamiento y componentes.
Signatura
private function columnas_sql_array(array $columnas): array|stdClass
Parámetros
$columnas
(array): Un array de arrays, donde cada sub-array contiene la información de una columna.
Retorna
- Tipo:
array|stdClass
- Descripción: Retorna un objeto stdClass con dos propiedades:
-
- $columnas_parseadas: El array $columnas_parseadas con la información parseada de las columnas.
-
- $columnas_completas: El array $columnas_completas con la información completa de las columnas.
Explicación Detallada
- Inicialización de Arrays
-
- Se inicializan dos arrays vacíos: $columnas_parseadas y $columnas_completas.
- Iteración Sobre las Columnas
-
- La función itera sobre cada elemento en el array $columnas.
-
- Para cada elemento, se verifica si es un array. Si no lo es, se retorna un error indicando que $columna debe ser un array.
- Asignación y Validación de Columnas
-
- Se llama a la función columnas_attr con los parámetros columna, columnas_completas y columnas_parseadas.
-
- Si hay un error en la asignación (errores::$error), se retorna un error con un mensaje indicando el fallo al obtener las columnas.
-
- Se actualizan los arrays $columnas_parseadas y $columnas_completas con los valores retornados por columnas_attr.
- Retorno de la Información
-
- Se crea un objeto stdClass y se asignan las propiedades columnas_parseadas y columnas_completas.
-
- Se retorna el objeto con la información asignada.
Ejemplos
//Ejemplo 1: Asignación Correcta
$columnas = array(
array(
'Field' => 'nombre',
'Type' => 'VARCHAR(255)',
'Null' => 'NO',
'Key' => 'PRI'
),
array(
'Field' => 'edad',
'Type' => 'INT',
'Null' => 'YES',
'Key' => ''
)
);
// Instancia de la clase que contiene la función columnas_sql_array
$mi_clase = new MiClase();
Código de la Función
private function columnas_sql_array(array $columnas): array|stdClass
{
$columnas_parseadas = array();
$columnas_completas = array();
foreach($columnas as $columna ){
if(!is_array($columna)){
return $this->error->error(mensaje: 'Error $columna debe ser un array', data: $columnas,
es_final: true);
}
$columnas_field = $this->columnas_attr(columna: $columna, columnas_completas: $columnas_completas,
columnas_parseadas: $columnas_parseadas);
if(errores::$error){
return $this->error->error(mensaje: 'Error al obtener columnas', data: $columnas_field);
}
$columnas_parseadas = $columnas_field->columnas_parseadas;
$columnas_completas = $columnas_field->columnas_completas;
}
$data = new stdClass();
$data->columnas_parseadas = $columnas_parseadas;
$data->columnas_completas = $columnas_completas;
return $data;
}