administrador.base.orm.columnas.campos_tabla - gamboamartin/administrador GitHub Wiki
campos_tabla
La función campos_tabla se encarga de obtener las columnas de una tabla específica de la base de datos y asignarlas al atributo campos_tabla del modelo proporcionado. Si se proporciona un nombre de tabla válido, la función invoca obten_columnas para recuperar la información estructural de las columnas y maneja cualquier error que pueda surgir en el proceso.
Signatura
final public function campos_tabla(modelo $modelo, string $tabla): array
Parámetros
$modelo
(modelo): Una instancia de la clase modelo que representa el modelo de la base de datos.$tabla
(string): El nombre de la tabla de la base de datos de la cual se desean obtener los nombres de las columnas.
Retorna
- Tipo:
array
- Descripción:
-
- Retorna un array con las columnas parseadas (columnas_parseadas) de la tabla si la operación es exitosa.
-
- En caso de error, retorna un array que contiene la información del error.
Explicación Detallada
-
Validación del Nombre de la Tabla:
-
- La función comienza verificando si el nombre de la tabla ($tabla) no está vacío.
-
Obtención de Columnas:
-
- Si el nombre de la tabla es válido, se llama a la función obten_columnas() para obtener las columnas de la tabla especificada.
-
- Si ocurre un error durante la obtención de las columnas (verificado por errores::$error), se genera y retorna un array con el error.
-
Asignación de Columnas al Modelo:
-
- Si las columnas se obtienen correctamente, se asignan al atributo campos_tabla del modelo proporcionado.
-
Retorno del Resultado:
-
- Finalmente, la función retorna el array campos_tabla del modelo, ya sea que se haya obtenido y asignado en este proceso o que ya existiera previamente.
-
Manejo de Errores
-
- Los errores se manejan a través del método $this->error->error(), que retorna un array con detalles sobre el error.
-
- Si se detecta un error, la función detiene la ejecución normal y retorna un array con el error específico.
Ejemplos
$modelo = new modelo();
$nombre_tabla = "productos";
$campos = $this->campos_tabla($modelo, $nombre_tabla);
if (isset($campos['error'])) {
// Manejo del error
print_r($campos);
} else {
// Operar con los campos de la tabla
print_r($campos);
}
Código de la Función
final public function campos_tabla(modelo $modelo, string $tabla): array
{
if($tabla !=='') {
$data = $this->obten_columnas(modelo:$modelo, tabla_original: $tabla);
if (errores::$error) {
return $this->error->error(mensaje: 'Error al obtener columnas de '.$tabla, data: $data);
}
$modelo->campos_tabla = $data->columnas_parseadas;
}
return $modelo->campos_tabla;
}