administrador.modelado.joins.data_join.21.11.0 - gamboamartin/administrador GitHub Wiki
Esta función procesa y valida los datos necesarios para realizar una operación de JOIN en una consulta SQL.
private function data_join(array $tabla_join): stdClass|array
$tabla_join (array): Un array que contiene los datos necesarios para realizar el JOIN, incluyendo la tabla base, la tabla de enlace y opcionalmente la tabla renombrada y los campos relacionados
- array|stdClass: La función devuelve un objeto stdClass que contiene los datos procesados necesarios para realizar el JOIN. En caso de error, devuelve un array que contiene detalles del error.
- Validación de claves requeridas: Se valida la existencia de las claves requeridas ('tabla_base' y 'tabla_enlace') en el array $tabla_join utilizando la función valida_existencia_keys. Si hay algún error durante esta validación, se devuelve un mensaje de error correspondiente.
- Definición de valores predeterminados: Si no se proporciona un valor para la clave 'tabla_renombrada', se establece como una cadena vacía en el objeto $data.
- Creación del objeto $data: Se crea un objeto stdClass llamado $data para almacenar los datos procesados del JOIN.
- Asignación de valores al objeto $data: Se asignan los valores correspondientes del array $tabla_join al objeto $data. Esto incluye la tabla base, la tabla de enlace, la tabla renombrada (si se proporciona), el campo renombrado (si se proporciona) y el campo de identificación de la tabla base (si se proporciona).
- Devolución del objeto $data: Se devuelve el objeto $data que contiene los datos procesados necesarios para realizar el JOIN en la consulta SQL.
// Llamada a la función data_join
$tabla_join = [
'tabla_base' => 'usuarios',
'tabla_enlace' => 'pedidos',
'tabla_renombrada' => 'p',
'campo_tabla_base_id' => 'id_usuario',
'campo_renombrado' => 'id_usuario_pedido'
];
$resultado = data_join($tabla_join);
if (is_object($resultado)) {
echo "Datos procesados para el JOIN:";
echo "<pre>";
print_r($resultado);
echo "</pre>";
} else {
echo "Error: " . $resultado['mensaje'];
}
/*En este ejemplo, se llama a la función data_join con un array que contiene los datos necesarios para realizar el JOIN en una consulta SQL. Dependiendo del resultado, se imprime el objeto $data que contiene los datos procesados necesarios para realizar el JOIN o el mensaje de error correspondiente si se produce algún problema.
*/
private function data_join(array $tabla_join): stdClass|array
{
$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);
}
if(!isset($tabla_join['tabla_renombrada'])){
$tabla_join['tabla_renombrada'] = '';
}
$data = new stdClass();
$data->tabla_base = $tabla_join['tabla_base'];
$data->tabla_enlace = $tabla_join['tabla_enlace'];
$data->tabla_renombre = $tabla_join['tabla_renombrada'];
$data->campo_renombrado = '';
$data->campo_tabla_base_id = '';
if(isset($tabla_join['campo_tabla_base_id'])) {
$data->campo_tabla_base_id = $tabla_join['campo_tabla_base_id'];
}
if(isset($tabla_join['campo_renombrado'])){
$data->campo_renombrado = $tabla_join['campo_renombrado'];
}
return $data;
}