首页 > 解决方案 > 在环回中包含相关模型的问题

问题描述

我有两个模型 Customer 和 UserProviders

在 Customer.json 中,有如下关系

"relations": {
    "userProviders": {
      "type": "hasOne",
      "model": "UserProviders",
      "foreignKey": "userId",
      "options": {
        "disableInclude": true,
        "http": {
          "path": "providers"
        },
        "hidden": [
          "id",
          "providersCount"
        ]
      }
    }
}

UserProviders.json

{
  "name": "UserProviders",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "userId": {
      "type": "objectId",
      "required": true,
      "index": {
        "unique": true
      }
    },
    "providers": {
      "type": [
        "any"
      ],
      "default": []
    }
  },
  "validations": [],
  "relations": {},
  "acls": [],
  "methods": {}
}

这就是我尝试在另一个模型中查询模型的方式,比如 ModelB。

let users = ModelB.app.models.Customer;
let UserProvider = ModelB.app.models.UserProviders;

let userData = await users.findOne({
            where: {
            patientId: patientId
          },
            include: {
              relation: 'userProviders',
              scope: {
                fields: ['providers']
              }
            }
    });

对它进行了深入的研究。使用包含过滤结果检查了在环回中加入两个模型,但仍然无法解决该问题。

工作了几天。但是我仍然没有得到 userData 中包含的 providers 字段。任何帮助将非常感激。如何包含相关的模型字段?如果我错了,请纠正我。

标签: javascriptnode.jsloopbackjsstrongloop

解决方案


推荐阅读