我有一个article
hasMany
comments
。一个comment
belongsTo
一个user
和一个article
。所以基本上评论有一篇文章和用户外键ID。
我正在尝试将文章的所有评论用户ID“插入”/放入数组中。
我有一个计算属性:
userIds: Ember.computed('article.comments.length', {
get() {
return this.get(‘article.comments’).mapBy(‘user.id’);
}
})
返回:[undefined]
。
预期结果:[1,2,3,4]
。假设1,2,3,4
是用户ID。
答案 0 :(得分:1)
您的计算属性具有不正确的依赖关键字。这只会在长度更新时更新,而不会在任何模型解析时更新。您应该使用'article.comments.@each.user.id'
。请记住,计算属性将重新计算几次,并且在最终计算之前不会给出正确的*值。
* 理论上应该是正确值所需的全部内容。然而,许多关系承诺在过去给了我一个很多的麻烦。我不得不做一些讨厌的黑客来绕过它。希望更改依赖键是您所需要的。