我正在使用Strongloop的环回工具来创建REST服务。我想知道如何定义在请求模型时要返回的相关实体。
我在文档中看到您可以发送GET /api/members?filter[include]=posts
之类的请求并返回相关的帖子模型,我发现您可以发出GET /api/members?filter[include]=posts&filter[include]=comments
之类的请求来获取帖子和评论,但有没有办法在代码或生成的json文件中定义您在请求模型时始终返回某个特定关系?
答案 0 :(得分:3)
您可以使用两种不同的简单方法来获得与帐户的关系。
在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 :(得分:1)
预设过滤器属性称为默认范围。我们有一个待处理的拉取请求来支持它。请参阅https://github.com/strongloop/loopback-datasource-juggler/pull/296。
作为发布功能之前的变通方法,您可以使用beforeRemote挂钩来使用默认范围更新过滤器对象。请参阅http://docs.strongloop.com/display/LB/Defining+remote+hooks。