Detta dokument har översatts av AI. För eventuella felaktigheter, se den engelska versionen
BelongsToManyRepository är ett Relation Repository för att hantera BelongsToMany-relationer.
Till skillnad från andra relationstyper måste BelongsToMany-relationer registreras via en mellantabell.
När ni definierar en associerad relation i NocoBase kan en mellantabell skapas automatiskt, eller så kan ni uttryckligen ange en.
find()Hittar associerade objekt.
Signatur
async find(options?: FindOptions): Promise<M[]>Detaljer
Frågeparametrarna är konsekventa med Repository.find().
findOne()Hittar ett associerat objekt och returnerar endast en post.
Signatur
async findOne(options?: FindOneOptions): Promise<M>count()Returnerar antalet poster som matchar frågevillkoren.
Signatur
async count(options?: CountOptions)Typ
findAndCount()Frågar databasen efter en datamängd och det totala antalet under specifika villkor.
Signatur
async findAndCount(options?: FindAndCountOptions): Promise<[any[], number]>Typ
create()Skapar ett associerat objekt.
Signatur
async create(options?: CreateOptions): Promise<M>update()Uppdaterar associerade objekt som uppfyller villkoren.
Signatur
async update(options?: UpdateOptions): Promise<M>destroy()Tar bort associerade objekt som uppfyller villkoren.
Signatur
async destroy(options?: TargetKey | TargetKey[] | DestroyOptions): Promise<Boolean>add()Lägger till nya associerade objekt.
Signatur
async add( options: TargetKey | TargetKey[] | PrimaryKeyWithThroughValues | PrimaryKeyWithThroughValues[] | AssociatedOptions ): Promise<void>Typ
Detaljer
Ni kan direkt skicka in det associerade objektets targetKey, eller skicka in targetKey tillsammans med fältvärdena från mellantabellen.
Exempel
set()Ställer in associerade objekt.
Signatur
Detaljer
Parametrarna är desamma som för add().
remove()Tar bort associationen med de angivna objekten.
Signatur
async remove(options: TargetKey | TargetKey[] | AssociatedOptions)Typ
toggle()Växlar associerade objekt.
I vissa affärsscenarier är det ofta nödvändigt att växla associerade objekt. Till exempel kan en användare favoritmarkera en produkt, ta bort favoritmarkeringen och sedan favoritmarkera den igen. Metoden toggle kan användas för att snabbt implementera liknande funktionalitet.
Signatur
async toggle(options: TargetKey | { tk?: TargetKey; transaction?: Transaction }): Promise<void>Detaljer
Metoden toggle kontrollerar automatiskt om det associerade objektet redan finns. Om det finns tas det bort; om det inte finns läggs det till.