这是“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')为null。
我是否错误地设置了模型或模型钩子?或者它是否正在阻止我再次检索身份(某种缓存?)
答案 0 :(得分:0)
问题解决了!
输出模型中的我需要添加到身份属性:
{{1}}
引用Ember Guide, Models, Relationships, Explicit Inverses
没有逆的关系可以通过包含来表示 {inverse:null}。
这一点一点也不清楚,但Ember Data假设在某个地方存在1对1的关系并不存在。当Ember Data试图保持这种反向关系同步时,它通常会将其他冲突关系设置为null。
要解决此问题,您可以使用inverse:null。
明确告知Ember Data没有反向关系