@loopback/docs
Version:
Documentation files rendered at [https://loopback.io](https://loopback.io)
41 lines (30 loc) • 2.72 kB
Markdown
---
lang: en
title: 'API docs: repository.defaulthasmanythroughrepository._constructor_'
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._constructor_.html
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@loopback/repository](./repository.md) > [DefaultHasManyThroughRepository](./repository.defaulthasmanythroughrepository.md) > [(constructor)](./repository.defaulthasmanythroughrepository._constructor_.md)
## DefaultHasManyThroughRepository.(constructor)
Constructs a new instance of the `DefaultHasManyThroughRepository` class
**Signature:**
```typescript
constructor(getTargetRepository: Getter<TargetRepository> | {
[repoType: string]: Getter<TargetRepository>;
}, getThroughRepository: Getter<ThroughRepository>, getTargetConstraintFromThroughModels: (throughInstances: ThroughEntity[]) => DataObject<TargetEntity>, getTargetKeys: (throughInstances: ThroughEntity[]) => TargetID[], getThroughConstraintFromSource: () => DataObject<ThroughEntity>, getTargetIds: (targetInstances: TargetEntity[]) => TargetID[], getThroughConstraintFromTarget: (targetID: TargetID[]) => DataObject<ThroughEntity>, targetResolver: TypeResolver<Entity, typeof Entity>, throughResolver: TypeResolver<Entity, typeof Entity>);
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| getTargetRepository | Getter<TargetRepository> \| { \[repoType: string\]: Getter<TargetRepository>; } | |
| getThroughRepository | Getter<ThroughRepository> | |
| getTargetConstraintFromThroughModels | (throughInstances: ThroughEntity\[\]) => [DataObject](./repository.dataobject.md)<!-- --><TargetEntity> | |
| getTargetKeys | (throughInstances: ThroughEntity\[\]) => TargetID\[\] | |
| getThroughConstraintFromSource | () => [DataObject](./repository.dataobject.md)<!-- --><ThroughEntity> | |
| getTargetIds | (targetInstances: TargetEntity\[\]) => TargetID\[\] | |
| getThroughConstraintFromTarget | (targetID: TargetID\[\]) => [DataObject](./repository.dataobject.md)<!-- --><ThroughEntity> | |
| targetResolver | [TypeResolver](./repository.typeresolver.md)<!-- --><[Entity](./repository.entity.md)<!-- -->, typeof [Entity](./repository.entity.md)<!-- -->> | |
| throughResolver | [TypeResolver](./repository.typeresolver.md)<!-- --><[Entity](./repository.entity.md)<!-- -->, typeof [Entity](./repository.entity.md)<!-- -->> | |