lib/relations/has_many.js
function(instance) {
    var args = _.rest(arguments);
    var objects = _.flatten(args);
    this.beforeAddingObjects(instance, objects);
    this.associateObjects(instance, objects);
    return Actionable.create(instance.save.bind(instance));
  }
function(instance) {
    var args = _.rest(arguments);
    var objects = _.flatten(args);
    this.beforeAddingObjects(instance, objects);
    this.associateObjects(instance, objects);
    return Actionable.create(instance.save.bind(instance));
  }
function ( instance ) { var args = _ . rest ( arguments ) ; var objects = _ . flatten ( args ) ; this . beforeAddingObjects ( instance , objects ) ; this . associateObjects ( instance , objects ) ; return Actionable . create ( instance . save . bind ( instance ) ) ; }
The add objects method for this relation.

This method invalidates the {@link HasMany#objectsQuery} cache and adds
the related objects to the {@link HasMany#collection} (if loaded).

It is accessible on an individual model via `add<Singular>` and
`add<Plural>`. For instance a user that has many articles would cause this
method to get triggered via `user.addArticle` or `user.addArticles`.

The naming conventions are set forth in {@link HasMany#overrides}.

Mixins can override {@link HasMany#addObjects} to change the way related
objects are added. This is the default implementation.

@method
@protected
@param {Model} instance The model instance on which to operate.
@param {...Object} [args] The arguments to the method.
@return {Actionable} A thenable object, use of which will trigger the
instance to be saved.
@see {@link BaseRelation#methods}
The add objects method for this relation .