我有以下示例JSONAPI。我想在ember数据中加载它。
{
"data": {
"id": "in",
"type": "product-offering",
"relationships": {
"products": {
"data": [
{
"type": "group-product",
"id": "group-product-001"
},
{
"type": "sub-product",
"id": "sub-product-001"
}
]
}
}
任何人都可以告诉我如何在产品供应模式中建立关系?
我想要那样的东西..
export default DS.Model.extend({
products: hasMany('group-product'),
products: hasMany('sub-product')
});
如何在2个模型的相同属性上使用hasmany关系。
答案 0 :(得分:0)
正确的方法是使用多态关系。 所以你需要一个共同的基类型:
<强>模型/基层 - product.js 强>
import DS from 'ember-data';
export default DS.Model.extend({
});
然后你的子模型:
<强>模型/组product.js 强>
import BaseProduct is './base-product';
export default BaseProduct.extend({
});
<强>型号/子product.js 强>
import BaseProduct is './base-product';
export default BaseProduct.extend({
});
通过它,您可以在product-offering
上定义多态关系:
<强>模型/产品offering.js 强>
import DS from 'ember-data';
export default DS.Model.extend({
products: DS.hasMany('base-product'),
});