Ten dokument został przetłumaczony przez AI. W przypadku niedokładności, proszę odnieść się do wersji angielskiej
BelongsToManyRepository to Relation Repository służący do zarządzania relacjami typu BelongsToMany.
W przeciwieństwie do innych typów relacji, relacje BelongsToMany wymagają użycia tabeli pośredniczącej do ich zapisywania. Podczas definiowania relacji w NocoBase, tabela pośrednicząca może zostać utworzona automatycznie lub może Pan/Pani ją jawnie określić.
find()Znajduje powiązane obiekty.
Sygnatura
async find(options?: FindOptions): Promise<M[]>Szczegóły
Parametry zapytania są zgodne z Repository.find().
findOne()Znajduje powiązany obiekt, zwracając tylko jeden rekord.
Sygnatura
async findOne(options?: FindOneOptions): Promise<M>count()Zwraca liczbę rekordów spełniających warunki zapytania.
Sygnatura
async count(options?: CountOptions)Typ
findAndCount()Pobiera z bazy danych zestaw danych i ich całkowitą liczbę, spełniające określone warunki.
Sygnatura
async findAndCount(options?: FindAndCountOptions): Promise<[any[], number]>Typ
create()Tworzy powiązany obiekt.
Sygnatura
async create(options?: CreateOptions): Promise<M>update()Aktualizuje powiązane obiekty spełniające określone warunki.
Sygnatura
async update(options?: UpdateOptions): Promise<M>destroy()Usuwa powiązane obiekty spełniające określone warunki.
Sygnatura
async destroy(options?: TargetKey | TargetKey[] | DestroyOptions): Promise<Boolean>add()Dodaje nowe powiązane obiekty.
Sygnatura
async add( options: TargetKey | TargetKey[] | PrimaryKeyWithThroughValues | PrimaryKeyWithThroughValues[] | AssociatedOptions ): Promise<void>Typ
Szczegóły
Może Pan/Pani bezpośrednio przekazać targetKey powiązanego obiektu lub przekazać targetKey wraz z wartościami pól tabeli pośredniczącej.
Przykład
set()Ustawia powiązane obiekty.
Sygnatura
async set( options: TargetKey | TargetKey[] | PrimaryKeyWithThroughValues | PrimaryKeyWithThroughValues[] | AssociatedOptions, ): Promise<void>Szczegóły
Parametry są takie same jak w metodzie add().
remove()Usuwa powiązanie z podanymi obiektami.
Sygnatura
async remove(options: TargetKey | TargetKey[] | AssociatedOptions)Typ
toggle()Przełącza powiązane obiekty.
W niektórych scenariuszach biznesowych często zachodzi potrzeba przełączania powiązanych obiektów. Na przykład, użytkownik może dodać produkt do ulubionych, usunąć go z ulubionych, a następnie ponownie dodać. Metoda toggle pozwala szybko zaimplementować taką funkcjonalność.
Sygnatura
async toggle(options: TargetKey | { tk?: TargetKey; transaction?: Transaction }): Promise<void>Szczegóły
Metoda toggle automatycznie sprawdza, czy powiązany obiekt już istnieje. Jeśli tak, to go usuwa; jeśli nie, to go dodaje.