Mixin HasMany
One-to-many association
In the API reference below, replace Association(s) with the actual name of your association, e.g. for User.hasMany(Project) the getter will be user.getProjects().
getAssociations([options]) -> Promise.<Array.<Instance>>
Get everything currently associated with this, using an optional where clause.
Params:
| Name | Type | 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 |
setAssociations([newAssociations], [options]) -> Promise
Set the associated models by passing an array of instances or their primary keys. Everything that is not in the passed array will be un-associated
Params:
| Name | Type | Description |
|---|---|---|
| [newAssociations] | Array.<Instance | String | Number> | An array of instances or primary key of instances to associate with this. Pass null or undefined to remove all associations. |
| [options] | Object | Options passed to target.findAll and update. |
| [options.validate] | Object | Run validation for the join model |
addAssociations([newAssociations], [options]) -> Promise
Associate several instances with this.
Params:
| Name | Type | Description |
|---|---|---|
| [newAssociations] | Array.<Instance | String | Number> | An array of instances or primary key of instances to associate with this. |
| [options] | Object | Options passed to target.update. |
| [options.validate] | Object | Run validation for the join model. |
addAssociation([newAssociation], [options]) -> Promise
Associate one instance with this.
Params:
| Name | Type | Description |
|---|---|---|
| [newAssociation] | Instance | String | Number | An instance or primary key of instance to associate with this. |
| [options] | Object | Options passed to target.update. |
| [options.validate] | Object | Run validation for the join model. |
createAssociation([values], [options]) -> Promise
Create a new instance of the associated model and associate it with this.
Params:
| Name | Type | Description |
|---|---|---|
| [values] | Object | |
| [options] | Object | Options passed to target.create. |
removeAssociation([oldAssociated], [options]) -> Promise
Un-associate the instance.
Params:
| Name | Type | Description |
|---|---|---|
| [oldAssociated] | Instance | String | Number | Can be an Instance or its primary key |
| [options] | Object | Options passed to target.update |
removeAssociations([oldAssociatedArray], [options]) -> Promise
Un-associate several instances.
Params:
| Name | Type | Description |
|---|---|---|
| [oldAssociatedArray] | Array.<Instance | String | Number> | Can be an array of instances or their primary keys |
| [options] | Object | Options passed to through.destroy |
hasAssociation([instance], [options]) -> Promise
Check if an instance is associated with this.
Params:
| Name | Type | Description |
|---|---|---|
| [instance] | Instance | String | Number | Can be an Instance or its primary key |
| [options] | Object | Options passed to getAssociations |
hasAssociations([instances], [options]) -> Promise
Check if all instances are associated with this.
Params:
| Name | Type | Description |
|---|---|---|
| [instances] | Array.<Instance | String | Number> | Can be an array of instances or their primary keys |
| [options] | Object | Options passed to getAssociations |
countAssociations([options]) -> Promise.<Int>
Count everything currently associated with this, using an optional where clause.
Params:
| Name | Type | 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 |
This document is automatically generated based on source code comments. Please do not edit it directly, as your changes will be ignored. Please write on IRC, open an issue or a create a pull request if you feel something can be improved. For help on how to write source code documentation see JSDoc and dox