administrador.modelado.validaciones.valida_keys_renombre.21.25.0 - gamboamartin/administrador GitHub Wiki

valida_keys_renombre

La función valida_keys_renombre valida las claves necesarias para renombrar una tabla en una consulta SQL.

Signatura

final public function valida_keys_renombre(array $data, string $tabla_renombrada): true|array

Parámetros

$data (array): Un array que contiene los datos necesarios para renombrar la tabla.

$tabla_renombrada (string): El nombre de la tabla renombrada.

Retorna

  • true: La función devuelve true si las claves son válidas.
  • array: Si alguna clave no es válida, la función devuelve un array con un mensaje de error.

Explicación Detallada

Verifica que las claves 'enlace' y 'nombre_original' existan en el array $data.

Verifica que el valor de la clave 'nombre_original' no esté vacío.

Verifica que el nombre de la tabla renombrada no esté vacío.

Ejemplos

$data = [
    'enlace' => 'usuarios',
    'nombre_original' => 'users'
];
$tabla_renombrada = 'u';
$resultado = $this->valida_keys_renombre($data, $tabla_renombrada);
// Resultado esperado: true

Código de la Función

final public function valida_keys_renombre(array $data, string $tabla_renombrada): true|array
    {
        if(!isset($data['enlace'])){
            return $this->error->error(mensaje: 'Error data[enlace] debe existir', data: $data, es_final: true);
        }
        if(!isset($data['nombre_original'])){
            return $this->error->error(mensaje:'Error data[nombre_original] debe existir', data:$data, es_final: true);
        }
        $data['nombre_original'] = trim($data['nombre_original']);
        if($data['nombre_original'] === ''){
            return $this->error->error(mensaje:'Error data[nombre_original] no puede venir vacia',data: $data,
                es_final: true);
        }
        $tabla_renombrada = trim($tabla_renombrada);
        if($tabla_renombrada === ''){
            return $this->error->error(mensaje:'Error $tabla_renombrada no puede venir vacia', data:$tabla_renombrada,
                es_final: true);
        }
        return true;
    }