administrador.modelado.joins.data_tabla_sql.21.16.0 - gamboamartin/administrador GitHub Wiki

data_tabla_sql

Esta función privada se encarga de manejar y generar los datos para una tabla en una consulta SQL, incluyendo la preparación de joins si es necesario.

Signatura

private function data_tabla_sql(string $key, array|string $tabla_join, string $tablas): array|string

Parámetros

$key (string): La clave de la tabla principal para el join en español.

$tabla_join (array|string): La tabla o tablas con las que se va a realizar el join.

$tablas (string): La cadena de tablas a las que se unirán los datos.

Retorna

  • array|string: Un array con los datos para realizar la consulta SQL, o un mensaje de error si ocurre un problema durante el proceso.

Explicación Detallada

Preparación de variables: Se asigna la variable $tablas_env con el valor de $tablas inicialmente para su posterior uso.

Manejo de tablas para joins: Se verifica si $tabla_join es un array, lo que indica la presencia de múltiples tablas para realizar joins. En ese caso, se llama a la función tablas_join_base() para manejar los joins base. Si se produce un error durante este proceso, se devuelve un mensaje de error.

Manejo de tabla join en español: Si $tabla_join no es un array pero contiene un valor, se asume que es el nombre de una tabla en español para realizar un join específico. En este caso, se llama a la función tablas_join_esp() para manejar el join en español. Si se produce un error durante este proceso, se devuelve un mensaje de error.

Retorno de datos o mensaje de error: Finalmente, se devuelve la cadena de tablas generada para la consulta SQL si el proceso se realizó correctamente, o un mensaje de error si ocurrió algún problema durante el proceso.

Ejemplos

// Ejemplo: Generar datos para una consulta SQL
$tabla_principal = "usuarios";
$tabla_join = "pedidos";
$tablas_existente = "productos";
$resultado_data = data_tabla_sql($tabla_principal, $tabla_join, $tablas_existente);
if (is_array($resultado_data)) {
    // Procesar los datos generados para la consulta SQL
    var_dump($resultado_data);
} else {
    // Manejar el mensaje de error
    echo "Error: $resultado_data";
}


Código de la Función

private function data_tabla_sql(string $key, array|string $tabla_join, string $tablas): array|string
    {
        $tablas_env = $tablas;
        if(is_array($tabla_join)){
            $tablas_env = $this->tablas_join_base(tabla_join: $tabla_join, tablas: $tablas);
            if(errores::$error){
                return $this->error->error(mensaje: 'Error al generar data join', data: $tablas_env);
            }
        }
        else if ($tabla_join) {
            $tablas_env = $this->tablas_join_esp(key: $key,tabla_join:  $tabla_join, tablas: $tablas);
            if(errores::$error){
                return $this->error->error(mensaje: 'Error al generar join', data: $tablas_env);
            }
        }
        return $tablas_env;
    }