我正在尝试通过创建 belongsTo
关系在 Loopback 中设置基本模型关系。
我有两个模型定义如下:
合约.json
{
"name": "Contract",
"base": "PersistedModel",
"idInjection": false,
"options": {
"validateUpsert": true
},
"mssql": {
"schema": "dbo",
"table": "Contract"
},
"properties": {
"contractid": {
// some property stuff
},
"validations": [],
"relations": {
"employee": {
"type": "belongsTo",
"model": "Employee",
"foreignKey": ""
}
},
"acls": [],
"methods": []
}
员工.json
{
"name": "Employee",
"base": "PersistedModel",
"idInjection": false,
"options": {
"validateUpsert": true
},
"mssql": {
"schema": "dbo",
"table": "Employee"
},
"properties": {
"employeeid": {
// some property definitions...
}
},
"validations": [],
"relations": {
"contracts": {
"type": "hasMany",
"model": "Contract",
"foreignKey": ""
}
},
"acls": [],
"methods": []
}
当我对具有特定 id
的 Contract
执行 GET
请求时,我得到结果:
调用:/api/Contracts/55
{
"contractid": 55,
"employeeId": 83
}
到目前为止还不错。但是,当我对 Contract
执行 GET
请求时,还获取 Employee
我希望得到如下输出:
调用:/api/Contracts/55/employee
{
"contractid": 55,
"employee": {
"employeeid": 83
}
}
但相反,我只获取 Employee
对象,而没有其 Contract
:
{
"employeeid": 83
}
这是为什么呢?
我做错了什么吗?还是我的期望有误?
最佳答案
您可以执行/api/Contracts/55?filter[include]=employee
或者:
/api/Contracts/55?filter={"include":"employee"}
您可以通过添加“范围”部分来设置契约(Contract)模型默认范围以包含员工对象:
"scope": {
"include": "employee"
}
关于loopbackjs - 获取belongsTo关系中的完整json结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30932407/