这是"ember-data":"~2.11.1“
我有一个包含“输出”的通道模型。
outputs: DS.hasMany('output', {
async: true
}),
并且输出模型包含'identity‘
channel: DS.belongsTo('channel'),
identity: DS.belongsTo('identity', {
async: true
}),
在输出的路径中(在通道下面),我在模型中这样做
model() {
let channel = this.modelFor('channel').channel
let outputs = channel.get('output')
return Ember.RSVP.hash({
channel: channel,
outputs: outputs
})
}
这让我看到了属于通道的所有输出,正如预期的那样。
我遇到问题的地方是属于输出的身份。
现在,身份可以由输出共享,例如,一个身份可能是'youtube‘,并且可能有3个输出具有相同的'youtube’身份
我看到的是其中一个输出有'youtube‘身份的详细信息,但是另外两个输出看到.get(' identity ')为空。
我是否设置了错误的模型或模型挂钩?或者它正在做一些事情来阻止我再次检索身份(某种缓存?)
发布于 2017-02-10 22:53:57
问题解决了!
在输出模型中,我需要添加身份属性:
inverse: null
引用Ember Guide, Models, Relationships, Explicit Inverses
没有反向的
关系可以通过包含{逆向:空}来表示。
这一点并不清楚,但Ember Data假设在某个地方存在一对一的关系,但实际上并不存在。当Ember Data试图保持这种反向关系同步时,它通常会将其他冲突关系设置为null。
要解决这个问题,您可以使用inverse: null显式地告诉Ember数据没有反向关系。
https://stackoverflow.com/questions/42099758
复制相似问题