Esta documentação foi traduzida automaticamente por IA.
BelongsToManyRepository é um Relation Repository usado para gerenciar relacionamentos BelongsToMany.
Diferente de outros tipos de relacionamento, os relacionamentos BelongsToMany precisam ser registrados através de uma tabela intermediária. Ao definir um relacionamento de associação no NocoBase, você pode criar uma tabela intermediária automaticamente ou especificá-la explicitamente.
find()Encontra objetos associados
Assinatura
async find(options?: FindOptions): Promise<M[]>Detalhes
Os parâmetros de consulta são consistentes com Repository.find().
findOne()Encontra um objeto associado, retornando apenas um registro
Assinatura
async findOne(options?: FindOneOptions): Promise<M>count()Retorna o número de registros que correspondem às condições da consulta
Assinatura
async count(options?: CountOptions)Tipo
findAndCount()Consulta o banco de dados para um conjunto de dados e a contagem total sob condições específicas.
Assinatura
async findAndCount(options?: FindAndCountOptions): Promise<[any[], number]>Tipo
create()Cria um objeto associado
Assinatura
async create(options?: CreateOptions): Promise<M>update()Atualiza objetos associados que atendem às condições
Assinatura
async update(options?: UpdateOptions): Promise<M>destroy()Exclui objetos associados que atendem às condições
Assinatura
async destroy(options?: TargetKey | TargetKey[] | DestroyOptions): Promise<Boolean>add()Adiciona novos objetos associados
Assinatura
async add( options: TargetKey | TargetKey[] | PrimaryKeyWithThroughValues | PrimaryKeyWithThroughValues[] | AssociatedOptions ): Promise<void>Tipo
Detalhes
Você pode passar diretamente o targetKey do objeto associado, ou passar o targetKey junto com os valores dos campos da tabela intermediária.
Exemplo
set()Define objetos associados
Assinatura
Detalhes
Os parâmetros são os mesmos de add()
remove()Remove a associação com os objetos fornecidos
Assinatura
async remove(options: TargetKey | TargetKey[] | AssociatedOptions)Tipo
toggle()Alterna objetos associados.
Em alguns cenários de negócio, é comum precisar alternar objetos associados. Por exemplo, um usuário pode favoritar um produto, desfavoritá-lo e favoritá-lo novamente. O método toggle pode ser usado para implementar essa funcionalidade rapidamente.
Assinatura
async toggle(options: TargetKey | { tk?: TargetKey; transaction?: Transaction }): Promise<void>Detalhes
O método toggle verifica automaticamente se o objeto associado já existe. Se existir, ele é removido; caso contrário, é adicionado.