UNPKG

@loopback/docs

Version:

Documentation files rendered at [https://loopback.io](https://loopback.io)

64 lines (47 loc) 2.8 kB
--- lang: en title: 'API docs: sequelize.sequelizecrudrepository.createhasmanythroughrepositoryfactoryfor' keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI sidebar: lb4_sidebar editurl: https://github.com/loopbackio/loopback-next/tree/master/extensions/sequelize permalink: /doc/en/lb4/apidocs.sequelize.sequelizecrudrepository.createhasmanythroughrepositoryfactoryfor.html --- <!-- Do not edit this file. It is automatically generated by API Documenter. --> [Home](./index.md) &gt; [@loopback/sequelize](./sequelize.md) &gt; [SequelizeCrudRepository](./sequelize.sequelizecrudrepository.md) &gt; [createHasManyThroughRepositoryFactoryFor](./sequelize.sequelizecrudrepository.createhasmanythroughrepositoryfactoryfor.md) ## SequelizeCrudRepository.createHasManyThroughRepositoryFactoryFor() method Function to create a constrained hasManyThrough relation repository factory **Signature:** ```typescript protected createHasManyThroughRepositoryFactoryFor<Target extends Entity, TargetID, Through extends Entity, ThroughID, ForeignKeyType>(relationName: string, targetRepositoryGetter: Getter<EntityCrudRepository<Target, TargetID>> | { [repoType: string]: Getter<EntityCrudRepository<Target, TargetID>>; }, throughRepositoryGetter: Getter<EntityCrudRepository<Through, ThroughID>>): HasManyThroughRepositoryFactory<Target, TargetID, Through, ForeignKeyType>; ``` ## Parameters | Parameter | Type | Description | | --- | --- | --- | | relationName | string | Name of the relation defined on the source model | | targetRepositoryGetter | Getter&lt;[EntityCrudRepository](./repository.entitycrudrepository.md)<!-- -->&lt;Target, TargetID&gt;&gt; \| { \[repoType: string\]: Getter&lt;[EntityCrudRepository](./repository.entitycrudrepository.md)<!-- -->&lt;Target, TargetID&gt;&gt;; } | | | throughRepositoryGetter | Getter&lt;[EntityCrudRepository](./repository.entitycrudrepository.md)<!-- -->&lt;Through, ThroughID&gt;&gt; | | **Returns:** [HasManyThroughRepositoryFactory](./repository.hasmanythroughrepositoryfactory.md)<!-- -->&lt;Target, TargetID, Through, ForeignKeyType&gt; ## Example ```ts class CustomerRepository extends SequelizeCrudRepository< Customer, typeof Customer.prototype.id, CustomerRelations > { public readonly cartItems: HasManyRepositoryFactory<CartItem, typeof Customer.prototype.id>; constructor( protected db: SequelizeDataSource, cartItemRepository: EntityCrudRepository<CartItem, typeof, CartItem.prototype.id>, throughRepository: EntityCrudRepository<Through, typeof Through.prototype.id>, ) { super(Customer, db); this.cartItems = this.createHasManyThroughRepositoryFactoryFor( 'cartItems', cartItemRepository, ); } } ```