administrador.modelado.joins.genera_join_renombrado.21.12.0 - gamboamartin/administrador GitHub Wiki
genera_join_renombrado
Esta función genera la cláusula JOIN renombrada para ser utilizada en una consulta SQL.
Signatura
private function genera_join_renombrado(string $campo_renombrado, string $campo_tabla_base_id, string $join,
string $renombrada, string $tabla, string $tabla_enlace): array|string
Parámetros
$campo_renombrado (string): El nombre del campo renombrado en la tabla.
$campo_tabla_base_id (string): El nombre del campo de identificación (ID) en la tabla base.
$join (string): El tipo de join que se utilizará en la consulta SQL (INNER, LEFT, RIGHT).
$renombrada (string): El nombre de la tabla renombrada en la consulta SQL.
$tabla (string): El nombre de la tabla base en la consulta SQL.
$tabla_enlace (string): El nombre de la tabla enlazada en la consulta SQL.
Retorna
- string|array: La función devuelve un array que contiene la cláusula JOIN renombrada preparada para ser utilizada en una consulta SQL. En caso de encontrar un error, devuelve un string que contiene detalles del error.
Explicación Detallada
- Inicialización del renombrado: Se inicializan los datos necesarios para realizar el renombrado de tablas en la consulta SQL utilizando la función init_renombre.
- Validación de nombres: Se validan los nombres de los campos y tablas utilizando la función valida_renombres para garantizar que no estén vacíos y que el tipo de join sea válido.
- Generación del ID renombrado: Se genera el nombre del campo de identificación (ID) renombrado utilizando la función id_renombrada.
- Generación de datos para renombrar: Se generan los datos necesarios para el renombrado de tablas utilizando la función data_for_rename.
- Creación de la cláusula JOIN renombrada: Se construye la cláusula JOIN renombrada utilizando los datos preparados.
- Devolución de la cláusula JOIN renombrada: Se devuelve la cláusula JOIN renombrada.
Ejemplos
// Llamada a la función genera_join_renombrado
$campo_renombrado = 'id_usuario';
$campo_tabla_base_id = 'id';
$join = 'LEFT';
$renombrada = 'u';
$tabla = 'usuarios';
$tabla_enlace = 'pedidos';
$join_renombrado = genera_join_renombrado($campo_renombrado, $campo_tabla_base_id, $join, $renombrada, $tabla, $tabla_enlace);
echo "Cláusula JOIN renombrada: " . $join_renombrado;
/*
En este ejemplo, se llama a la función genera_join_renombrado con los parámetros necesarios para generar la cláusula JOIN renombrada en una consulta SQL. El resultado se asigna a la variable $join_renombrado, que luego se imprime.
*/
Código de la Función
private function genera_join_renombrado(string $campo_renombrado, string $campo_tabla_base_id, string $join,
string $renombrada, string $tabla, string $tabla_enlace):array|string{
$init = $this->init_renombre(tabla: $tabla, tabla_enlace:$tabla_enlace);
if(errores::$error){
return $this->error->error(mensaje: 'Error al inicializar ', data: $init);
}
$valida = (new validaciones())->valida_renombres(campo_renombrado: $campo_renombrado,join: $join,
renombrada: $renombrada,tabla: $init->tabla,
tabla_enlace: $init->tabla_enlace);
if(errores::$error){
return $this->error->error(mensaje: 'Error al validar ', data: $valida);
}
$id_renombrada = $this->id_renombrada(campo_tabla_base_id: $campo_tabla_base_id);
if(errores::$error){
return $this->error->error(mensaje: 'El al obtener renombrada ',data: $id_renombrada);
}
$data_rename = $this->data_for_rename(id_renombrada: $id_renombrada,init: $init,join: $join,
renombrada: $renombrada);
if(errores::$error){
return $this->error->error(mensaje: 'El al obtener datos ', data: $data_rename);
}
return ' '.$data_rename->asignacion_tabla.' ON '.$data_rename->on_join.'.'.$campo_renombrado;
}