administrador.modelado.joins.data_para_join_esp.21.16.0 - gamboamartin/administrador GitHub Wiki
data_para_join_esp
Esta función privada se encarga de preparar los datos necesarios para realizar un join específico entre dos tablas en español.
Signatura
private function data_para_join_esp(string $key, string $tabla_join): array|string
Parámetros
$key (string): La clave de la tabla principal para el join.
$tabla_join (string): El nombre de la tabla con la que se va a realizar el join.
Retorna
- array|string: Un array con los datos para realizar el join, o un mensaje de error si ocurre un problema durante la validación o generación del join.
Explicación Detallada
Limpieza de parámetros: Se eliminan los espacios en blanco al inicio y al final de los parámetros $key y $tabla_join utilizando la función trim().
Validación del join: Se utiliza la clase validaciones para validar el join utilizando el método valida_tabla_join(). Si se encuentra un error durante la validación, se devuelve un mensaje de error utilizando el método error() de la clase actual.
Generación del join: Se llama al método genera_join() para generar los datos necesarios para realizar el join entre las tablas. Si se produce un error durante la generación del join, se devuelve un mensaje de error.
Retorno de datos o mensaje de error: Finalmente, se devuelve el array con los datos del join si se generaron correctamente, o un mensaje de error si ocurrió algún problema durante el proceso.
Ejemplos
// Ejemplo 1: Preparar datos para un join
$tabla_principal = "usuarios";
$tabla_join = "pedidos";
$resultado_join = data_para_join_esp($tabla_principal, $tabla_join);
if (is_array($resultado_join)) {
// Procesar el array de datos para realizar el join
var_dump($resultado_join);
} else {
// Manejar el mensaje de error
echo "Error: $resultado_join";
}
// Ejemplo 2: Tratamiento del resultado de un join en una consulta SQL
$tabla_principal = "productos";
$tabla_join = "ventas";
$datos_join = data_para_join_esp($tabla_principal, $tabla_join);
if (is_array($datos_join)) {
$join = $datos_join['join'];
$condiciones = $datos_join['condiciones'];
$sql = "SELECT * FROM $tabla_principal $join WHERE $condiciones";
// Ejecutar la consulta SQL y procesar los resultados
} else {
// Manejar el mensaje de error
echo "Error: $datos_join";
}
Código de la Función
private function data_para_join_esp(string $key, string $tabla_join): array|string
{
$key = trim($key);
$tabla_join = trim($tabla_join);
$valida = (new validaciones())->valida_tabla_join(key: $key, tabla_join: $tabla_join);
if(errores::$error){
return $this->error->error(mensaje: 'Error al validar join', data: $valida);
}
$data = $this->genera_join(tabla:$key, tabla_enlace: $tabla_join );
if(errores::$error){
return $this->error->error(mensaje:'Error al generar join', data:$data);
}
return $data;
}