administrador.modelado.joins.tablas_join_base.21.15.0 - gamboamartin/administrador GitHub Wiki

tablas_join_base

Este método se utiliza para agregar tablas adicionales a una consulta SQL mediante JOIN, basado en un array de tablas de unión proporcionado.

Signatura

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

Parámetros

$tabla_join (array): Un array que contiene las tablas de unión que se agregarán a la consulta.

$tablas (string): Una cadena que representa las tablas base de la consulta a la que se agregarán las tablas de unión.

Retorna

  • array|string: Retorna un array o una cadena que representa las tablas de la consulta con las tablas de unión agregadas mediante JOIN.

Explicación Detallada

  1. Validación de las claves en el array de tablas de unión:

    • Se verifica la existencia de las claves requeridas 'tabla_base' y 'tabla_enlace' en el array $tabla_join utilizando el método valida_existencia_keys.
    • Si la validación produce un error, se retorna un mensaje de error utilizando el objeto error.
  2. Generación de los datos para JOIN:

    • Se llama al método data_para_join para generar los datos necesarios para realizar el JOIN a partir del array de tablas de unión.
    • Si se produce un error durante la generación de datos, se retorna un mensaje de error utilizando el objeto error.
  3. Concatenación de las tablas de unión a las tablas base:

    • Se concatena la cadena de datos generada para JOIN ($data) a la cadena que representa las tablas base ($tablas).
  4. Retorno:

    • Se retorna la cadena resultante que representa las tablas de la consulta con las tablas de unión agregadas mediante JOIN.

Ejemplos

// Ejemplo: Agregar tablas de unión a una consulta SQL mediante JOIN
$tabla_join = [
    'tabla_base' => 'usuarios',
    'tabla_enlace' => 'roles',
];
$tablas_base = 'usuarios';
$tablas_con_join = $objeto->tablas_join_base($tabla_join, $tablas_base);

echo "Tablas de la consulta con JOIN:";
echo $tablas_con_join;

Código de la Función

private function tablas_join_base(array $tabla_join, string $tablas): array|string
    {
        $keys = array('tabla_base','tabla_enlace');
        $valida = $this->validacion->valida_existencia_keys(keys:$keys, registro: $tabla_join);
        if(errores::$error){
            return $this->error->error(mensaje: 'Error al validar $tabla_join',data: $valida);
        }

        $data = $this->data_para_join(tabla_join: $tabla_join);
        if(errores::$error){
            return $this->error->error(mensaje: 'Error al generar data join', data: $data);
        }
        $tablas .=  $data;
        return $tablas;
    }