HasMany
Extends:
One-to-many association
In the API reference below, add the name of the association to the method, e.g. for User.hasMany(Project) the getter will be user.getProjects(). If the association is aliased, use the alias instead, e.g. User.hasMany(Project, { as: 'jobs' }) will be user.getJobs().
See:
Method Summary
| Public Methods | ||
|---|---|---|
| public | add(newAssociation(s): Model[] | Model | string[] | string | number[] | number, options: Object): Promise Associate one or more target rows with | |
| public | count(options: Object): Promise<Integer> Count everything currently associated with this, using an optional where clause. | |
| public | create(values: Object, options: Object): Promise Create a new instance of the associated model and associate it with this. | |
| public | Get everything currently associated with this, using an optional where clause. | |
| public | Check if one or more rows are associated with | |
| public | remove(oldAssociatedInstance(s): Model[] | Model | String[] | string | Number[] | number, options: Object): Promise Un-associate one or several target rows. | |
| public | Set the associated models by passing an array of persisted instances or their primary keys. | |
Inherited Summary
| From class Association | ||
|---|---|---|
| public | associationType: string The type of the association. | |
| public | ||
| public | ||
Public Methods
public add(newAssociation(s): Model[] | Model | string[] | string | number[] | number, options: Object): Promise source
Associate one or more target rows with this. This method accepts a Model / string / number to associate a single row, or a mixed array of Model / string / numbers to associate multiple rows.
Return:
| Promise |
public count(options: Object): Promise<Integer> source
Count everything currently associated with this, using an optional where clause.
Params:
| Name | Type | Attribute | Description |
|---|---|---|---|
| options | Object |
| |
| options.where | Object |
|
An optional where clause to limit the associated models |
| options.scope | String | Boolean |
|
Apply a scope on the related model, or remove its default scope by passing false |
Return:
| Promise<Integer> |
public create(values: Object, options: Object): Promise source
Create a new instance of the associated model and associate it with this.
Params:
| Name | Type | Attribute | Description |
|---|---|---|---|
| values | Object |
| |
| options | Object |
|
Options passed to |
Return:
| Promise |
public get(options: Object): Promise<Array<Model>> source
Get everything currently associated with this, using an optional where clause.
Params:
| Name | Type | Attribute | Description |
|---|---|---|---|
| options | Object |
| |
| options.where | Object |
|
An optional where clause to limit the associated models |
| options.scope | String | Boolean |
|
Apply a scope on the related model, or remove its default scope by passing false |
| options.schema | String |
|
Apply a schema on the related model |
Return:
| Promise<Array<Model>> |
See:
- Model.findAll for a full explanation of options
public has(instance(s): Model[] | Model | string[] | String | number[] | Number, options: Object): Promise source
Check if one or more rows are associated with this.
Return:
| Promise |
public remove(oldAssociatedInstance(s): Model[] | Model | String[] | string | Number[] | number, options: Object): Promise source
Un-associate one or several target rows.
Return:
| Promise |
public set(newAssociations: Array<Model|String|Number>, options: Object): Promise source
Set the associated models by passing an array of persisted instances or their primary keys. Everything that is not in the passed array will be un-associated
Params:
| Name | Type | Attribute | Description |
|---|---|---|---|
| newAssociations | Array<Model|String|Number> |
|
An array of persisted instances or primary key of instances to associate with this. Pass |
| options | Object |
|
Options passed to |
| options.validate | Object |
|
Run validation for the join model |
Return:
| Promise |
Copyright © 2014–present Sequelize contributors
Licensed under the MIT License.
https://sequelize.org/v4/class/lib/associations/has-many.js~HasMany.html