0

在我的 Loopback 项目中,我有一个模型 (ModelA),它引用了 ModelB 类型的属性。例如(来自 common/models/modela.json):

  "relations": {
    "modelbs": {
      "type": "hasMany",
      "model": "ModelB",
      "foreignKey": "ownerId"
    }
  }

我想使用 ModelB.afterRemote(来自 modelb.js)来过滤一些属性以响应GET /api/modelas/1/modelbs. 但是,永远不会调用 ModelB.afterRemote。而是使用 ctx.result 中的 ModelB 对象调用 ModelA.afterRemote(来自 modela.js)。

如何在不将代码注入每个可能碰巧与 ModelB 有关系的顶级类的情况下为 ModelB 实现 afterRemote?

作为参考,我对 afterRemote 的调用签名是,

   ModelB.afterRemote('**', function (ctx, unused, next) { ... }
4

1 回答 1

0

您也许可以使用模型的默认范围进行过滤。它基本上是一个过滤器对象,适用于模型的所有查询。在http://docs.strongloop.com/display/LB/Model+definition+JSON+file#ModeldefinitionJSONfile-Defaultscope查看更多信息。

于 2014-11-12T21:25:53.207 回答