2
我试图通过创建belongsTo
关系来设置Loopback中的基本模型关系。在belongsTo关系中获取完整的json结构
我有两个型号定义如下:
Contract.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": []
}
Employee.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": []
}
当我做一个Contract
一个GET
请求,以此specfic id
我得到结果:
调用:/api/Contracts/55
{
"contractid": 55,
"employeeId": 83
}
目前为止还不错。但是,当我做了GET
要求上Contract
,也得到Employee
的I希望得到像这样的输出继电器:
呼叫:/api/Contracts/55/employee
{
"contractid": 55,
"employee": {
"employeeid": 83
}
}
但是,相反,我只得到没有Employee
对象的Contract
:
{
"employeeid": 83
}
这是为什么?
我做错了什么?还是我有错误的期望?
酷,那他没有把戏!但现在我想知道,这是你应该怎么做的?换句话说,调用'/ api/Contracts/55/employee'应该只是返回一个'employee'对象? – Vivendi
您可以使用默认范围进行此默认行为(添加到答案)。在很多情况下,由于可能需要额外的带宽和数据库调用,您不想返回整个图表。 – conradj