Dokumen ini diterjemahkan oleh AI. Untuk ketidakakuratan apa pun, silakan lihat versi bahasa Inggris
BelongsToManyRepository adalah sebuah Relation Repository yang digunakan untuk menangani hubungan BelongsToMany.
Berbeda dengan jenis hubungan lainnya, hubungan BelongsToMany perlu dicatat melalui tabel perantara (junction table).
Saat mendefinisikan hubungan asosiasi di NocoBase, tabel perantara dapat dibuat secara otomatis, atau Anda dapat menentukannya secara eksplisit.
find()Mencari objek terkait (associated objects).
Tanda Tangan
async find(options?: FindOptions): Promise<M[]>Detail
Parameter kueri (query parameters) konsisten dengan Repository.find().
findOne()Mencari objek terkait, hanya mengembalikan satu rekaman.
Tanda Tangan
async findOne(options?: FindOneOptions): Promise<M>count()Mengembalikan jumlah rekaman yang sesuai dengan kondisi kueri.
Tanda Tangan
async count(options?: CountOptions)Tipe
findAndCount()Mengkueri basis data untuk mendapatkan kumpulan data (dataset) dan jumlah total (count) berdasarkan kondisi tertentu.
Tanda Tangan
async findAndCount(options?: FindAndCountOptions): Promise<[any[], number]>Tipe
create()Membuat objek terkait.
Tanda Tangan
async create(options?: CreateOptions): Promise<M>update()Memperbarui objek terkait yang memenuhi kondisi.
Tanda Tangan
async update(options?: UpdateOptions): Promise<M>destroy()Menghapus objek terkait yang memenuhi kondisi.
Tanda Tangan
async destroy(options?: TargetKey | TargetKey[] | DestroyOptions): Promise<Boolean>add()Menambahkan objek terkait baru.
Tanda Tangan
async add( options: TargetKey | TargetKey[] | PrimaryKeyWithThroughValues | PrimaryKeyWithThroughValues[] | AssociatedOptions ): Promise<void>Tipe
Detail
Anda dapat langsung meneruskan targetKey dari objek terkait, atau meneruskan targetKey beserta nilai-nilai kolom dari tabel perantara.
Contoh
set()Mengatur objek terkait.
Tanda Tangan
Detail
Parameter sama dengan add().
remove()Menghapus hubungan asosiasi dengan objek yang diberikan.
Tanda Tangan
async remove(options: TargetKey | TargetKey[] | AssociatedOptions)Tipe
toggle()Mengubah status objek terkait (toggle associated objects).
Dalam beberapa skenario bisnis, seringkali diperlukan untuk mengubah status objek terkait. Misalnya, pengguna dapat memfavoritkan suatu produk, membatalkan favorit, dan memfavoritkan kembali. Metode toggle dapat digunakan untuk mengimplementasikan fungsionalitas serupa dengan cepat.
Tanda Tangan
async toggle(options: TargetKey | { tk?: TargetKey; transaction?: Transaction }): Promise<void>Detail
Metode toggle secara otomatis memeriksa apakah objek terkait sudah ada. Jika ada, objek akan dihapus; jika tidak ada, objek akan ditambahkan.