Loopbackjs 作用域内的环回包含筛选器对GET有效,但对POST请求无效

Loopbackjs 作用域内的环回包含筛选器对GET有效,但对POST请求无效,loopbackjs,Loopbackjs,我在我的order.json中定义了这个范围,它与branch和customer以及其他属性有关 "name": "Order", "properties":{...}, "relations": {...}, "acls": {...}, "scope": { "include": [ {"relation": "branch", "scope": { "fields": "BranchName" } }, {"relation": "customer", "scope"

我在我的order.json中定义了这个范围,它与branch和customer以及其他属性有关

"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请求。

您可以使用操作挂钩

ctx.instance
中的任何内容都应包含在环回响应中


您只需找出如何无缝地提取您想要包含的相关模型详细信息。

toy使用什么来发出请求?请求URL是什么样子的?我想知道你为什么这样问!稍后我将在生产中使用php curl,但目前我只使用环回资源管理器进行测试,它看起来就是这样的:for GET:
curl-X GET--header'Accept:application/json'http://localhost:3010/api/Order?access_token=xxx“
对于POST:
curl-X POST--header”内容类型:application/json'--header”接受:application/json'-d'{“OrderDate”:“2018-01-12T17:42:58.053Z”,“CustomerId:39”,“BranchId:5”,“CustomerRef”:“电话订购”,“CreaBy”:1\}' 'http://localhost:3010/api/Order?access_token=xxx“
您可以使用循环资源管理器进行检查,该资源管理器获取并发布到
/Order
生成不同的结果,因为GET查找来自数据源的筛选器匹配的模型的所有实例,POST将创建模型的新实例并将其持久保存到数据源中。所以POST只返回一个实例,但不返回它们的列表。我知道POST请求处理的是一条记录,这就是它返回的结果。但是,我需要相关模型的额外信息(在我的案例中是分行和客户)。如果这些名称值在响应中可用,这会有所帮助,即使ID值在请求和响应中都存在,而且我可以通过发出单独的请求轻松获取名称。事实上,我被文档弄糊涂了,文档中说“现在,任何带有查询参数的CRUD操作都在默认范围内运行…”我非常确定您的建议将完成这项工作,不幸的是,我对nodejs/loopback非常陌生。希望我能很快让它工作,同时,如果你能给我举一些工作实例,我将不胜感激。谢谢
Order.observe('after save', function(ctx, next) {
  if (ctx.instance) {

    ctx.instance.relatedmodel = someFunctionToGetRelatedModel();


  }
  next();
});