我有两个模型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']
}
}
});
对此进行了深入研究。检查了Joining two models in loopback using include filter结果,但仍无法解决。
为此工作了几天。但是我仍然没有在userData中包含providers字段。任何帮助将非常感激。 如何包含相关的模型字段?如果我错了,请纠正我。
答案 0 :(得分:1)
"options": {
"disableInclude": true
}
如果使用选项:disableInclude为true,则如果在include语句中使用该关系,则不会获取数据。因此,请尝试将其删除并进行检查。 希望这能解决您的问题。
有关更多信息,请参阅回送文档:https://loopback.io/doc/en/lb3/Model-definition-JSON-file.html