包括不起作用的关系模型

时间:2017-10-02 04:14:00

标签: loopbackjs

我的Contrato模型有很多Item模型,在我的Item模型中它有一个Produto模型。

所以,基本的,我的物品属于一个Produto,我的物品属于一个Contrato,但Contrato可以有很多物品。问题是我希望将所有Contratos与物品和每个物品一起获得产品。

阅读完文档之后,就可以了解案例:

/customers?filter[include][reviews]=author

但结果是Contratos有项目,但每个项目只有Produto的id而不是Produto对象本身..我做错了什么?

以下是我收到的回复:

[
    {
        "id": 1,
        "codigoTemplate": null,
        "status": "aguardando",
        "prazoFinalizacao": "2017-11-17T02:00:00.000Z",
        "dataInicio": "2017-10-01T23:47:10.000Z",
        "dataFinalizacao": null,
        "emailComissao": "email@hotmail.com",
        "dono": null,
        "usuario": 2,
        "itens": [
            {
                "id": 1,
                "quantidade": 5,
                "contrato": 1,
                "produto": 1
            },
            {
                "id": 2,
                "quantidade": 3,
                "contrato": 1,
                "produto": 2
            }
        ]
    }
]

我的Contrato意见:

"relations": {
    "formandos": {
      "type": "hasMany",
      "model": "formando",
      "foreignKey": "contrato"
    },
    "itens": {
      "type": "hasMany",
      "model": "item",
      "foreignKey": "contrato"
    },
    "usuario": {
      "type": "belongsTo",
      "model": "usuario",
      "foreignKey": "usuario"
    }
  }

我的物品关系:

"relations": {
    "itemFormando": {
      "type": "hasOne",
      "model": "itemFormando",
      "foreignKey": "item"
    },
    "produto":{
      "type": "belongsTo",
      "model": "produto",
      "foreignKey": "produto"
    }
  }

和我的产品关系:

"relations": {
    "item": {
      "type": "hasOne",
      "model": "item",
      "foreignKey": "produto"
    }
  }

1 个答案:

答案 0 :(得分:0)

抱歉无法发表评论,

在你的 Contrato模型 hasMany Itens和 Item 模型中,你没有提到你的项目属于 Contrato ,这很好,

因此,请尝试删除 produto 中的关系,并将关系保留在模型中,因为一个关系就足够了。

之后调用它包含范围: 在你的查找功能中:

   include: {
            relation: 'produto',
            scope: {
              fields: ['Fields that you want to call'],
            },
          },

希望有所帮助