@loopback/docs
Version:
Documentation files rendered at [https://loopback.io](https://loopback.io)
57 lines (41 loc) • 3.88 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/strongloop/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.
<b>Signature:</b>
```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>
```
<b>Implements:</b> [HasManyThroughRepository](./repository.hasmanythroughrepository.md)<!-- --><TargetEntity, TargetID, ThroughEntity>
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [(constructor)(getTargetRepository, getThroughRepository, getTargetConstraintFromThroughModels, getTargetKeys, getThroughConstraintFromSource, getTargetIds, getThroughConstraintFromTarget)](./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](./context.getter.md)<!-- --><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](./context.getter.md)<!-- --><ThroughRepository> | |
## 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) | | |