administrador.base.orm.estructuras.existe_entidad - gamboamartin/administrador GitHub Wiki

existe_entidad

La función existe_entidad tiene como propósito verificar la existencia de una entidad (tabla) en la base de datos. A continuación se detalla su funcionamiento.

Signatura


final public function existe_entidad(string $entidad): bool|array

Parámetros

  • $entidad (string): El nombre de la entidad (tabla) que se desea verificar. Debe ser una cadena de texto no vacía.

Retorna

  • Tipo: bool|array
  • Descripción: Devuelve true si la entidad existe, false si no existe. En caso de error, devuelve un arreglo asociativo con los detalles del error.

Explicación Detallada

  • Limpieza del parámetro: Se elimina cualquier espacio en blanco al inicio o al final del nombre de la entidad utilizando trim.

  • Verificación de cadena vacía: Se verifica si la entidad es una cadena vacía. Si es así, se retorna un error.

  • Construcción de la consulta SQL: Se genera la consulta SQL para verificar la existencia de la entidad.

  • Manejo de errores en la consulta SQL: Se verifica si ocurrió un error al generar la consulta SQL. Si es así, se retorna un error.

  • Ejecución de la consulta: Se ejecuta la consulta SQL generada.

  • Manejo de errores en la ejecución de la consulta: Se verifica si ocurrió un error al ejecutar la consulta. Si es así, se retorna un error.

  • Verificación de existencia de la entidad: Se verifica si la consulta retornó algún registro. Si hay registros, significa que la entidad existe.

  • Retorno del resultado: Se retorna true si la entidad existe, y false si no existe.

Ejemplos

$entidad = 'usuarios';
$resultado = $objeto->existe_entidad($entidad);

if($resultado === true){
    echo "La entidad '$entidad' existe.";
} else if ($resultado === false) {
    echo "La entidad '$entidad' no existe.";
} else {
    // Manejo de error
    print_r($resultado);
}

/**
Este ejemplo verifica si la entidad 'usuarios' existe en la base de datos e imprime el resultado correspondiente.

**/

Código de la Función

final public function existe_entidad(string $entidad): bool|array
    {
        $entidad = trim($entidad);
        if($entidad === ''){
            return $this->error->error(mensaje: 'Error entidad vacia', data: $entidad, es_final: true);
        }
        $sql = (new sql())->show_tables(entidad: $entidad);
        if(errores::$error){
            return $this->error->error(mensaje: 'Error al obtener sql', data: $sql);
        }

        $result = (new modelo_base($this->link))->ejecuta_consulta(consulta: $sql);
        if(errores::$error){
            return $this->error->error(mensaje: 'Error al ejecutar sql', data: $result);
        }
        $existe_entidad = false;
        if($result->n_registros > 0){
            $existe_entidad = true;
        }

        return $existe_entidad;
    }