在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;
}
答案 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