@loopback/docs
Version:
Documentation files rendered at [https://loopback.io](https://loopback.io)
61 lines (45 loc) • 4.67 kB
Markdown
---
lang: en
title: 'API docs: repository.defaulthasmanythroughrepository'
keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
sidebar: lb4_sidebar
editurl: https://github.com/loopbackio/loopback-next/tree/master/packages/repository
permalink: /doc/en/lb4/apidocs.repository.defaulthasmanythroughrepository.html
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@loopback/repository](./repository.md) > [DefaultHasManyThroughRepository](./repository.defaulthasmanythroughrepository.md)
## DefaultHasManyThroughRepository class
a class for CRUD operations for hasManyThrough relation.
Warning: The hasManyThrough interface is experimental and is subject to change. If backwards-incompatible changes are made, a new major version may not be released.
**Signature:**
```typescript
export declare class DefaultHasManyThroughRepository<TargetEntity extends Entity, TargetID, TargetRepository extends EntityCrudRepository<TargetEntity, TargetID>, ThroughEntity extends Entity, ThroughID, ThroughRepository extends EntityCrudRepository<ThroughEntity, ThroughID>> implements HasManyThroughRepository<TargetEntity, TargetID, ThroughEntity>
```
**Implements:** [HasManyThroughRepository](./repository.hasmanythroughrepository.md)<!-- --><TargetEntity, TargetID, ThroughEntity>
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [(constructor)(getTargetRepository, getThroughRepository, getTargetConstraintFromThroughModels, getTargetKeys, getThroughConstraintFromSource, getTargetIds, getThroughConstraintFromTarget, targetResolver, throughResolver)](./repository.defaulthasmanythroughrepository._constructor_.md) | | Constructs a new instance of the <code>DefaultHasManyThroughRepository</code> class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [getTargetConstraintFromThroughModels](./repository.defaulthasmanythroughrepository.gettargetconstraintfromthroughmodels.md) | | (throughInstances: ThroughEntity\[\]) => [DataObject](./repository.dataobject.md)<!-- --><TargetEntity> | |
| [getTargetIds](./repository.defaulthasmanythroughrepository.gettargetids.md) | | (targetInstances: TargetEntity\[\]) => TargetID\[\] | |
| [getTargetKeys](./repository.defaulthasmanythroughrepository.gettargetkeys.md) | | (throughInstances: ThroughEntity\[\]) => TargetID\[\] | |
| [getTargetRepository](./repository.defaulthasmanythroughrepository.gettargetrepository.md) | | Getter<TargetRepository> \| { \[repoType: string\]: Getter<TargetRepository>; } | |
| [getTargetRepositoryDict](./repository.defaulthasmanythroughrepository.gettargetrepositorydict.md) | | { \[repoType: string\]: Getter<TargetRepository>; } | |
| [getThroughConstraintFromSource](./repository.defaulthasmanythroughrepository.getthroughconstraintfromsource.md) | | () => [DataObject](./repository.dataobject.md)<!-- --><ThroughEntity> | |
| [getThroughConstraintFromTarget](./repository.defaulthasmanythroughrepository.getthroughconstraintfromtarget.md) | | (targetID: TargetID\[\]) => [DataObject](./repository.dataobject.md)<!-- --><ThroughEntity> | |
| [getThroughRepository](./repository.defaulthasmanythroughrepository.getthroughrepository.md) | | Getter<ThroughRepository> | |
| [targetResolver](./repository.defaulthasmanythroughrepository.targetresolver.md) | | [TypeResolver](./repository.typeresolver.md)<!-- --><[Entity](./repository.entity.md)<!-- -->, typeof [Entity](./repository.entity.md)<!-- -->> | |
| [throughResolver](./repository.defaulthasmanythroughrepository.throughresolver.md) | | [TypeResolver](./repository.typeresolver.md)<!-- --><[Entity](./repository.entity.md)<!-- -->, typeof [Entity](./repository.entity.md)<!-- -->> | |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [create(targetModelData, options)](./repository.defaulthasmanythroughrepository.create.md) | | |
| [delete(where, options)](./repository.defaulthasmanythroughrepository.delete.md) | | |
| [find(filter, options)](./repository.defaulthasmanythroughrepository.find.md) | | |
| [link(targetId, options)](./repository.defaulthasmanythroughrepository.link.md) | | |
| [patch(dataObject, where, options)](./repository.defaulthasmanythroughrepository.patch.md) | | |
| [unlink(targetId, options)](./repository.defaulthasmanythroughrepository.unlink.md) | | |
| [unlinkAll(options)](./repository.defaulthasmanythroughrepository.unlinkall.md) | | |