administrador.base.orm.columnas.asigna_data_columnas - gamboamartin/administrador GitHub Wiki
asigna_data_columnas
La función asigna_data_columnas
asigna columnas de datos a un objeto stdClass
basado en una tabla de base de datos especificada. Verifica la existencia de ciertas variables de sesión antes de asignar los datos.
Signatura
private function asigna_data_columnas(stdClass $data, string $tabla_bd): stdClass|array
Parámetros
-
$data
(stdClass): Objeto de tipo stdClass al cual se le asignarán las columnas. -
$tabla_bd
(string): Nombre de la tabla de base de datos como cadena de texto.
Retorna
-
Tipo:
stdClass
-
Descripción: Devuelve el objeto stdClass con las columnas asignadas si todo es correcto.
-
Tipo:
array
-
Descripción: Devuelve un array de error si alguna validación falla.
Explicación Detallada
Validaciones y Errores
-
1.- Verificación del nombre de la tabla:
-
- Si $tabla_bd está vacío, se retorna un error indicando que la tabla no puede estar vacía.
-
2.- Existencia de $_SESSION['campos_tabla']:
-
- Si $_SESSION['campos_tabla'] no está definida, se retorna un error indicando la necesidad de esta variable de sesión.
-
3.- Existencia de la clave de la tabla en $_SESSION['campos_tabla']:
-
- Si la tabla especificada no está en $_SESSION['campos_tabla'], se retorna un error indicando la falta de esta clave.
-
4.- Existencia de $_SESSION['columnas_completas']:
-
- Si $_SESSION['columnas_completas'] no está definida, se retorna un error indicando la necesidad de esta variable de sesión.
-
5.- Existencia de la clave de la tabla en $_SESSION['columnas_completas']:
-
- Si la tabla especificada no está en $_SESSION['columnas_completas'], se retorna un error indicando la falta de esta clave.
Asignación de Datos
Si todas las validaciones son exitosas, se asignan las columnas parseadas y completas del objeto $data basadas en las variables de sesión.
Ejemplos
$datos = new stdClass();
$tabla = 'mi_tabla';
$resultado = $this->asigna_data_columnas($datos, $tabla);
if (is_array($resultado)) {
// Manejar error
} else {
// Usar $resultado con las columnas asignadas
}
Código de la Función
private function asigna_data_columnas(stdClass $data, string $tabla_bd): stdClass|array
{
$tabla_bd = trim($tabla_bd);
if($tabla_bd===''){
return $this->error->error(mensaje: 'Error tabla_bd no puede venir vacia', data: $tabla_bd,
es_final: true);
}
if(!isset($_SESSION['campos_tabla'])){
return $this->error->error(mensaje: 'Error debe existir SESSION[campos_tabla]',data: $_SESSION,
es_final: true);
}
if(!isset($_SESSION['campos_tabla'][$tabla_bd])){
return $this->error->error(mensaje: 'Error debe existir SESSION[campos_tabla]['.$tabla_bd.']',
data: $_SESSION, es_final: true);
}
if(!isset($_SESSION['columnas_completas'])){
return $this->error->error(mensaje: 'Error debe existir SESSION[columnas_completas]',data: $_SESSION,
es_final: true);
}
if(!isset($_SESSION['columnas_completas'][$tabla_bd])){
return $this->error->error(mensaje: 'Error debe existir SESSION[columnas_completas]['.$tabla_bd.']',
data:$_SESSION, es_final: true);
}
$data->columnas_parseadas = $_SESSION['campos_tabla'][$tabla_bd];
$data->columnas_completas = $_SESSION['columnas_completas'][$tabla_bd];
return $data;
}