3

我正在使用 Strongloop 的环回工具来创建 REST 服务。我想知道在请求模型时如何定义要返回的相关实体。

我在文档中看到您可以发送类似的请求GET /api/members?filter[include]=posts,这将返回相关的帖子模型,我发现您可以发出请求,例如GET /api/members?filter[include]=posts&filter[include]=comments获取帖子和评论,但是有没有办法在代码或生成的json 文件,您希望在请求模型时始终返回某种关系?

4

2 回答 2

3

您可以使用两种不同的简单方法来获取与帐户的关系。

  1. 使用 Model.json 文件中的模型定义。

    "validations": [],
    "relations": {
      "team": {
      "type": "belongsTo",
      "model": "Team",
      "foreignKey": ""
    },
    "user": {
      "type": "belongsTo",
      "model": "User",
      "foreignKey": ""
    }
    }
    

这将始终使用直接关系将一个模型与另一个模型绑定,您可以使用以下代码行检索它们。

app.models.TeamRole.findOne({
      where: {
        userId: user.id
      },
      include:[ {
        relation: 'team'
      },
{
        relation: 'user'
      } ]
    },function(err,team,user){
//retrieve relational data here
});
  1. 您可以使用操作挂钩概念轻松获得此类关系。

干杯。

于 2017-09-30T19:49:26.490 回答
1

预设过滤器属性称为默认范围。我们有一个待处理的拉取请求来支持它。请参阅https://github.com/strongloop/loopback-datasource-juggler/pull/296

作为该功能发布之前的一种解决方法,您可以使用 beforeRemote 挂钩来使用您的默认范围更新过滤器对象。请参阅http://docs.strongloop.com/display/LB/Defining+remote+hooks

于 2014-09-23T23:41:33.080 回答