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

