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;
}