administrador.modelado.joins.data_join.21.11.0 - gamboamartin/administrador GitHub Wiki

data_join

Esta función procesa y valida los datos necesarios para realizar una operación de JOIN en una consulta SQL.

Signatura

private function data_join(array $tabla_join): stdClass|array

Parámetros

$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

Retorna

  • 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.

Explicación Detallada

  • 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.

Ejemplos

// 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.

*/

Código de la Función

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;

    }
⚠️ **GitHub.com Fallback** ⚠️