解析javascript一对多关系查询

时间:2015-06-21 01:18:13

标签: javascript angularjs parse-platform

在Parse我有几张桌子:餐厅,派对,付款。付款属于属于一个餐馆的一方。我想从一家餐馆(我有权访问)获得所有各方的所有付款。如何使用Parse和Javascript编写此关系的查询?我到目前为止的尝试(检索正确数量的当事方但没有正确的付款次数):

var Party = Parse.Object.extend("Party");
var partyQuery = new Parse.Query(Party);
partyQuery.equalTo("restaurant", $scope.currentRestaurant);

partyQuery.find().then(function(parties) {
    $scope.parties = parties;

    //payment
    var Payment = Parse.Object.extend("Payment");
    var paymentQuery = new Parse.Query(Payment);

    $scope.payments = [];

    for(var i = 0; i < $scope.parties.length; i++) {
        paymentQuery.equalTo("party", $scope.parties[i]);

        paymentQuery.find().then(function(payments) {
            $scope.payments.push(payments);
            $scope.$digest();
        });
    }
});

1 个答案:

答案 0 :(得分:1)

您从payments返回的paymentQuery.find()可能是一个阵列吗?然后,当您将付款推送到$scope.payments时,您正在将数组推送到数组中。那是你要的吗?如果你只是计算$scope.payments数组,也许这就是为什么它不是正确的计数。你可以试试这个:

        for (var j = 0; j < payments.length; j++) {
          $scope.payments.push(payments[j]);
        }