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