Esta documentación ha sido traducida automáticamente por IA.
BelongsToManyRepository
BelongsToManyRepository es un Relation Repository que se utiliza para gestionar relaciones BelongsToMany.
A diferencia de otros tipos de relaciones, las relaciones BelongsToMany requieren una tabla intermedia para su registro.
Al definir una relación de asociación en NocoBase, la tabla intermedia puede crearse automáticamente o especificarse explícitamente.
Métodos de Clase
find()
Busca objetos asociados
Signature
async find(options?: FindOptions): Promise<M[]>
Detalles
Los parámetros de consulta son consistentes con Repository.find().
findOne()
Busca un objeto asociado, devolviendo solo un registro.
Signature
async findOne(options?: FindOneOptions): Promise<M>
count()
Devuelve el número de registros que coinciden con las condiciones de la consulta.
Signature
async count(options?: CountOptions)
Type
findAndCount()
Consulta la base de datos para obtener un conjunto de datos y el recuento total bajo condiciones específicas.
Signature
async findAndCount(options?: FindAndCountOptions): Promise<[any[], number]>
Type
create()
Crea un objeto asociado
Signature
async create(options?: CreateOptions): Promise<M>
update()
Actualiza los objetos asociados que cumplen las condiciones.
Signature
async update(options?: UpdateOptions): Promise<M>
destroy()
Elimina los objetos asociados que cumplen las condiciones.
Signature
async destroy(options?: TargetKey | TargetKey[] | DestroyOptions): Promise<Boolean>
add()
Añade nuevos objetos asociados.
Signature
async add( options: TargetKey | TargetKey[] | PrimaryKeyWithThroughValues | PrimaryKeyWithThroughValues[] | AssociatedOptions ): Promise<void>
Type
Detalles
Puede pasar directamente la targetKey del objeto asociado, o pasar la targetKey junto con los valores de los campos de la tabla intermedia.
Ejemplo
set()
Establece objetos asociados.
Signature
- async set(
options: TargetKey | TargetKey[] | PrimaryKeyWithThroughValues | PrimaryKeyWithThroughValues[] | AssociatedOptions,
): Promise
Detalles
Los parámetros son los mismos que en add().
remove()
Elimina la asociación con los objetos dados.
Signature
async remove(options: TargetKey | TargetKey[] | AssociatedOptions)
Type
toggle()
Alterna objetos asociados.
En algunos escenarios de negocio, a menudo es necesario alternar objetos asociados. Por ejemplo, un usuario puede marcar un producto como favorito, quitarlo de favoritos y volver a marcarlo. El método toggle permite implementar rápidamente una funcionalidad similar.
Signature
async toggle(options: TargetKey | { tk?: TargetKey; transaction?: Transaction }): Promise<void>
Detalles
El método toggle comprueba automáticamente si el objeto asociado ya existe. Si existe, lo elimina; si no, lo añade.

