环回包括不相关的列表

时间:2015-07-24 13:32:26

标签: loopbackjs strongloop loopback

在Loopback中,查询数据时很容易包含关系对象。例如,可以使用protected void handleSimSubscriptionInfoChanged() { if (DEBUG_SIM_STATES) { Log.v(TAG, "onSubscriptionInfoChanged()"); List<SubscriptionInfo> sil = mSubscriptionManager.getActiveSubscriptionInfoList(); if (sil != null) { for (SubscriptionInfo subInfo : sil) { Log.v(TAG, "SubInfo:" + subInfo); } } else { Log.v(TAG, "onSubscriptionInfoChanged: list is null"); } } 过滤器在单个调用中包含属于博客帖子的所有评论。

但在我的情况下,我想获得没有关系的数据。

我有一个用户详细信息页面。在该页面上,用户可以选择include,还有一个下拉列表,用户可以从中选择他所在的国家/地区。

所以从客户端我做了类似的事情:

username

但是如果我得到更多要填写的列表怎么办?比如, city 颜色等。

然后我必须做很多单独的电话。

有没有办法在一次通话中包含所有这些数据,尽管它们没有关系?像这样:

Country.find().$promise.then(function(countryData) {
    $scope.countries = countryData;
});
Player.find().$promise.then(function(playerData) {
  $scope.player = playerData;
}

3 个答案:

答案 0 :(得分:0)

您可能需要尝试使用文档here

中的Where过滤器

查询两个具体事物的一个例子是:

Post.find({where: {and: [{title: 'My Post'}, {content: 'Hello'}]}}, 
          function (err, posts) {
            ...
});

答案 1 :(得分:0)

您可以在其中一个模型上创建一个远程方法,在内部进行调用并将它们打包回来。

如果不使用ES6等待所有,然后返回

,请使用一些promise库
HorizontalOptions

答案 2 :(得分:0)

  

您可以在其中一个模型上创建一个远程方法,在内部进行调用并将它们打包回来。

如果不使用ES6等待所有,然后返回

,请使用一些promise库
Model.getAll = function(next) {
  var promises = [];

  promises.push(Model.app.models.Country.find());
  promises.push(Model.app.models.Player.find());
  promises.push(Model.app.models.Color.find());

  Promise.all(promises)
    .then(function(results) {
      next(results);
    });
}

/**
  Register your remote method here
*/

我遇到问题并尝试使用此解决方案,但我收到错误“因多个错误而失败,请参阅details以获取更多信息。”。使用promise.all

时,似乎Loopback上存在错误