Эта документация была автоматически переведена ИИ.
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
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 автоматически проверяет, существует ли связанный объект. Если он существует, то объект удаляется; в противном случае — добавляется.