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 |
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 |