我在order.json中定义了这个范围,它与分支和客户以及其他属性有关。
"name": "Order",
"properties":{...},
"relations": {...},
"acls": {...},
"scope": {
"include": [
{"relation": "branch", "scope": { "fields": "BranchName" } },
{"relation": "customer", "scope": { "fields": "CustomerName" } }
]
}
这在所有具有以下结果的GET请求中都能正常工作
[
{
"OrderDate": "2018-01-12T17:52:21.000Z",
"CustomerId": 39,
"BranchId": 5,
"CustomerRef": "Order by Phone",
...
"CreatedBy": 1,
"id": 1,
"branch": {
"BranchName": "aaaa",
"id": 5
},
"customer": {
"CustomerName": "xxxx",
"id": 39
}
}
]
我期待类似的结果,但是,成功的POST请求后收到的响应数组不包含相关模型中的BranchName和CustomerName信息。
我做得对吗?或者是否有任何其他方法可以在创建/更新操作后从相关模型中获取信息。我只是在创建/更新后立即尝试避免另一个GET请求。
答案 0 :(得分:1)
您可以使用操作挂钩after save。
Order.observe('after save', function(ctx, next) {
if (ctx.instance) {
ctx.instance.relatedmodel = someFunctionToGetRelatedModel();
}
next();
});
ctx.instance
内部的内容应该包含在loopbacks响应中。
你只需要弄清楚如何无缝地提取相关的模型细节,你想要包括。