Эта документация была автоматически переведена ИИ.
BelongsToManyRepository
BelongsToManyRepository — это репозиторий связей (Relation Repository), предназначенный для работы с отношениями типа BelongsToMany.
В отличие от других типов отношений, связи BelongsToMany требуют использования промежуточной таблицы для их записи.
При определении таких связей в NocoBase промежуточная таблица может быть создана автоматически или явно указана вами.
Методы класса
find()
Поиск связанных объекто в
Signature
async find(options?: FindOptions): Promise<M[]>
Details
Параметры запроса совпадают с Repository.find().
findOne()
Поиск связанного объекта, возвращает только одну запись
Signature
async findOne(options?: FindOneOptions): Promise<M>
count()
Возвращает количество записей, соответствующих условиям запроса
Signature
async count(options?: CountOptions)
Type
findAndCount()
Выполняет запрос к базе данных для получения набора данных и их общего количества по заданным условиям.
Signature
async findAndCount(options?: FindAndCountOptions): Promise<[any[], number]>
Type
create()
Создание связанного объекта
Signature
async create(options?: CreateOptions): Promise<M>
update()
Обновление связанных объектов, соответствующих условиям
Signature
async update(options?: UpdateOptions): Promise<M>
destroy()
Удаление связанных объектов, соответствующих условиям
Signature
async destroy(options?: TargetKey | TargetKey[] | DestroyOptions): Promise<Boolean>
add()
Добавление новых связанных объектов
Signature
async add( options: TargetKey | TargetKey[] | PrimaryKeyWithThroughValues | PrimaryKeyWithThroughValues[] | AssociatedOptions ): Promise<void>
Type
Details
Вы можете передать targetKey связанного объекта напрямую или передать targetKey вместе со значениями полей промежуточной таблицы.
Example
set()
Установка связанных объектов
Signature
- async set(
options: TargetKey | TargetKey[] | PrimaryKeyWithThroughValues | PrimaryKeyWithThroughValues[] | AssociatedOptions,
): Promise
Details
Параметры аналогичны методу add().
remove()
Удаление связи с указанными объектами
Signature
async remove(options: TargetKey | TargetKey[] | AssociatedOptions)
Type
toggle()
Переключение связанных объектов.
В некоторых бизнес-сценариях часто требуется переключать связанные объекты. Например, пользователь может добавить товар в избранное, затем удалить его из избранного и снова добавить. Метод toggle позволяет быстро реализовать подобную функциональность.
Signature
async toggle(options: TargetKey | { tk?: TargetKey; transaction?: Transaction }): Promise<void>
Details
Метод toggle автоматически проверяет, существует ли связанный объект. Если он существует, то объект удаляется; в противном случае — добавляется.

