EmberJS - 如何在同一属性上建立 hasMany 关系



我有下面的示例JSONAPI。我想在余烬数据中加载它。

{
"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 个模型使用同一属性上的多关系。

执行此操作的正确方法是使用多态关系。所以你需要一个通用的基本类型:

型号/基础产品.js

import DS from 'ember-data';
export default DS.Model.extend({
});

然后是您的子模型:

型号/组产品.js

import BaseProduct is './base-product';
export default BaseProduct.extend({
});

型号/子产品.js

import BaseProduct is './base-product';
export default BaseProduct.extend({
});

有了它,您可以在product-offering上定义多态关系:

型号/产品供应.js

import DS from 'ember-data';
export default DS.Model.extend({
  products: DS.hasMany('base-product'),
});

最新更新