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
-
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étodovalida_existencia_keys
. - Si la validación produce un error, se retorna un mensaje de error utilizando el objeto
error
.
- Se verifica la existencia de las claves requeridas 'tabla_base' y 'tabla_enlace' en el array
-
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
.
- Se llama al método
-
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
).
- Se concatena la cadena de datos generada para JOIN (
-
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;
}