如何从查询中获取最后一个对象?

时间:2015-08-02 14:16:25

标签: ember.js ember-data ember-cli

我有以下内容:

// In the service
me: Ember.computed('token', function() {
  return this.container.lookup('service:store').findRecord('user', 63);
}

// In the template - Works
{{this.currentSession.me.profile.firstName}}

以上按预期工作。但是,如果我将findRecord替换为query并将其抛给filter参数:

// In the service
me: Ember.computed('token', function() {
  return this.container.lookup('service:store').query('user', { filter: { token: this.get('token') } });
}

// In the template - Works
{{this.currentSession.me.lastObject.profile.firstName}}

lastObject是必需的,因为query的结果是一个集合。我想知道是否有可能在没有lastObject的情况下完成这项工作。即。

{{this.currentSession.me.profile.firstName}}

我试图将lastObject放在计算属性中,例如:

return this.container.lookup('service:store').query('user', { filter: { token: this.get('token') } }).lastObject;

无济于事。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

return this.container.lookup('service:store').query('user', { filter: { token: this.get('token') } }).then(function(users){
  return users.get('lastObject');
});