Tento dokument byl přeložen umělou inteligencí. V případě nepřesností se prosím obraťte na anglickou verzi
BelongsToManyRepository je Relation Repository pro práci se vztahy typu BelongsToMany.
Na rozdíl od jiných typů vztahů je u vztahů BelongsToMany nutné ukládat data prostřednictvím spojovací tabulky.
Při definování asociace v NocoBase může být spojovací tabulka vytvořena automaticky, nebo ji můžete explicitně specifikovat.
find()Vyhledá asociované objekty.
Podpis
async find(options?: FindOptions): Promise<M[]>Podrobnosti
Parametry dotazu jsou konzistentní s Repository.find().
findOne()Vyhledá asociovaný objekt a vrátí pouze jeden záznam.
Podpis
async findOne(options?: FindOneOptions): Promise<M>count()Vrátí počet záznamů odpovídajících zadaným podmínkám dotazu.
Podpis
async count(options?: CountOptions)Typ
findAndCount()Dotazuje databázi na sadu dat a celkový počet výsledků za specifických podmínek.
Podpis
async findAndCount(options?: FindAndCountOptions): Promise<[any[], number]>Typ
create()Vytvoří asociovaný objekt.
Podpis
async create(options?: CreateOptions): Promise<M>update()Aktualizuje asociované objekty, které splňují zadané podmínky.
Podpis
async update(options?: UpdateOptions): Promise<M>destroy()Odstraní asociované objekty, které splňují zadané podmínky.
Podpis
async destroy(options?: TargetKey | TargetKey[] | DestroyOptions): Promise<Boolean>add()Přidá nové asociované objekty.
Podpis
async add( options: TargetKey | TargetKey[] | PrimaryKeyWithThroughValues | PrimaryKeyWithThroughValues[] | AssociatedOptions ): Promise<void>Typ
Podrobnosti
Můžete přímo předat targetKey asociovaného objektu, nebo předat targetKey společně s hodnotami polí spojovací tabulky.
Příklad
set()Nastaví asociované objekty.
Podpis
Podrobnosti
Parametry jsou stejné jako u metody add().
remove()Odebere asociaci s danými objekty.
Podpis
async remove(options: TargetKey | TargetKey[] | AssociatedOptions)Typ
toggle()Přepíná asociované objekty.
V některých obchodních scénářích je často potřeba přepínat asociované objekty. Například uživatel může označit produkt jako oblíbený, zrušit toto označení a znovu jej označit. Metoda toggle umožňuje rychle implementovat podobnou funkcionalitu.
Podpis
async toggle(options: TargetKey | { tk?: TargetKey; transaction?: Transaction }): Promise<void>Podrobnosti
Metoda toggle automaticky zkontroluje, zda asociovaný objekt již existuje. Pokud ano, je odstraněn; pokud ne, je přidán.