基本上我有PROJECT模型和RESOURCE模型。 PROJECT有很多资源和资源有很多PROJECTS(多对多关系)。 所以我想窥视所有或过滤不属于我的PROJECT的资源。 类似的东西:
this.store.filter('resource', function(resource){
resource.get('projects') != this.get('project')
})
它应该是那样的。我不知道什么是正确的方式。 我只是想获取那些没有this.get(' project')或特定项目的资源。
答案 0 :(得分:0)
您可以使用组合peekAll
和rejectBy
。
var resourcesThatDoNotBelongToMyProject = this.get('store').peekAll('resources').rejectBy('projects', this.get('project'));
请注意rejectBy
的反面是findBy
答案 1 :(得分:0)
它将返回所有不属于我的project
resourcesThatDoNotBelongToMyProject: Ember.computed('resources',function(){
var _self = this;
return this.get('resources').filter(function(resource){
let not_present=true;
if(resource.get('projects') != undefined) {
resource.get('projects').forEach(function (project) {
if (project.id == _self.get('model').id) {
not_present = false;
}
});
}
if(not_present == true) {
return resource.get("active") == true
}
});
}),