BelongsToManyRepository
BelongsToManyRepository adalah Relation Repository yang digunakan untuk menangani relasi BelongsToMany.
Berbeda dari tipe relasi lainnya, relasi tipe BelongsToMany perlu dicatat melalui tabel perantara.
Saat mendefinisikan asosiasi di NocoBase, tabel perantara dapat dibuat secara otomatis, atau ditentukan secara eksplisit.
Method Class
find()
Mencari objek terkait
Signature
async find(options?: FindOptions): Promise<M[]>
Detail
Parameter query konsisten dengan Repository.find().
findOne()
Mencari objek terkait, hanya mengembalikan satu record
Signature
async findOne(options?: FindOneOptions): Promise<M>
count()
Mengembalikan jumlah record yang sesuai dengan kondisi query
Signature
async count(options?: CountOptions)
Tipe
findAndCount()
Query data set dan jumlah hasil dari database berdasarkan kondisi tertentu.
Signature
async findAndCount(options?: FindAndCountOptions): Promise<[any[], number]>
Tipe
create()
Membuat objek terkait
Signature
async create(options?: CreateOptions): Promise<M>
update()
Memperbarui objek terkait yang sesuai dengan kondisi
Signature
async update(options?: UpdateOptions): Promise<M>
destroy()
Menghapus objek terkait yang sesuai dengan kondisi
Signature
async destroy(options?: TargetKey | TargetKey[] | DestroyOptions): Promise<Boolean>
add()
Menambahkan objek asosiasi baru
Signature
async add( options: TargetKey | TargetKey[] | PrimaryKeyWithThroughValues | PrimaryKeyWithThroughValues[] | AssociatedOptions ): Promise<void>
Tipe
Detail
Anda dapat memasukkan targetKey dari objek terkait secara langsung, atau memasukkan targetKey bersama dengan nilai field tabel perantara.
Contoh
set()
Mengatur objek terkait
Signature
- async set(
options: TargetKey | TargetKey[] | PrimaryKeyWithThroughValues | PrimaryKeyWithThroughValues[] | AssociatedOptions,
): Promise
Detail
Parameter sama dengan add()
remove()
Menghapus asosiasi dengan objek yang diberikan
Signature
async remove(options: TargetKey | TargetKey[] | AssociatedOptions)
Tipe
toggle()
Toggle objek terkait.
Pada beberapa skenario bisnis, sering kali perlu toggle objek terkait, contohnya user menyimpan produk, user dapat membatalkan favorit, atau menambahkannya kembali ke favorit. Menggunakan method toggle dapat dengan cepat mengimplementasikan fungsi serupa.
Signature
async toggle(options: TargetKey | { tk?: TargetKey; transaction?: Transaction }): Promise<void>
Detail
Method toggle akan otomatis menentukan apakah objek terkait sudah ada, jika ada maka dihapus, jika tidak ada maka ditambahkan.

