Model 多对一单向关系
Emberjs是否支持单向关系?考虑到我想用三个模型存储关于配方的信息:Model 多对一单向关系,model,ember.js,relationship,ember-data,Model,Ember.js,Relationship,Ember Data,Emberjs是否支持单向关系?考虑到我想用三个模型存储关于配方的信息: 成分 永远存在。给出名称和说明 没有任何东西“拥有”成分,也不应该在新引用时复制它们,或者在引用被销毁时销毁它们。他们只是是 ingredenticationaddition 包括一种成分以及何时/何人添加成分和数量的信息 许多ingredenticationaddition对象可以使用相同的成分 配方 由多个ingredenticationaddition对象和辅助信息组成 据我所知,我的模型如下所示:
成分
- 永远存在。给出
和名称
说明
- 没有任何东西“拥有”成分,也不应该在新引用时复制它们,或者在引用被销毁时销毁它们。他们只是是
- 永远存在。给出
ingredenticationaddition
- 包括一种
以及何时/何人添加成分和数量的信息成分
- 许多
对象可以使用相同的成分ingredenticationaddition
- 包括一种
配方
- 由多个
对象和辅助信息组成ingredenticationaddition
- 由多个
App.Ingredient = DS.Model.extend({
name: DS.attr('string'),
desc: DS.attr('string'),
});
App.IngredientAddition = DS.Model.extend({
how: DS.attr('string'),
qty: DS.attr('string'),
recipe: DS.belongsTo('App.Recipe'),
});
App.Recipe = DS.Model.extend({
desc: DS.attr('string'),
ingredients: DS.hasMany('App.IngredientAddition'),
});
但是,这并没有捕捉到配料添加和配料之间的关系DS.hasMany
似乎不合适,因为每个InGedentialAddition都只有一种成分<代码>DS.belongsTo
不合适,因为成分
生命周期不是由成分添加的存在(或缺乏)决定的
App.IngredientAddition = DS.Model.extend({
how: DS.attr('string'),
qty: DS.attr('string'),
ingredient: DS.belongsTo('App.Ingredient'),
recipe: DS.belongsTo('App.Recipe'),
});
如何获取这些信息?我已经查看了余烬数据
源,除了有许多
和属于
之外,我找不到任何关系类型,我想您需要属于
在基础添加
上的关系
App.IngredientAddition = DS.Model.extend({
how: DS.attr('string'),
qty: DS.attr('string'),
ingredient: DS.belongsTo('App.Ingredient'),
recipe: DS.belongsTo('App.Recipe'),
});
这样,ingredenticationaddition
就有了一个指向相关成分的底层成分id
。成分
“拥有”一个IngredentAddition
的语义很奇怪,但这是产生您所描述的关系的方式。从Ember如何管理引用来看,IngredentAddition
对象似乎不会在成分
更改时更新。绑定看起来像是单向的。