Class ManyArray

A ManyArray is a MutableArray that represents the contents of a has-many relationship.

The ManyArray is instantiated lazily the first time the relationship is requested.

Inverses

Often, the relationships in Ember Data applications will have an inverse. For example, imagine the following models are defined:

app/models/post.js
1
2
3
4
5
import Model, { hasMany } from '@ember-data/model';

export default class PostModel extends Model {
  @hasMany('comment') comments;
}
app/models/comment.js
1
2
3
4
5
import Model, { belongsTo } from '@ember-data/model';

export default class CommentModel extends Model {
  @belongsTo('post') post;
}

If you created a new instance of Post and added a Comment record to its comments has-many relationship, you would expect the comment's post property to be set to the post that contained the has-many.

We call the record to which a relationship belongs-to the relationship's owner.

Show:

The loading state of this array

Metadata associated with the request for async hasMany relationships.

Example

Given that the server returns the following JSON payload when fetching a hasMany relationship:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
  "comments": [{
    "id": 1,
    "comment": "This is the first comment",
  }, {
// ...
  }],

  "meta": {
    "page": 1,
    "total": 5
  }
}

You can then access the metadata via the meta property:

1
2
3
4
5
6
post.get('comments').then(function(comments) {
  var meta = comments.get('meta');

// meta.page => 1
// meta.total => 5
});