gpt4 book ai didi

javascript - Parse.com Cloud Code 上的多对多关系

转载 作者:行者123 更新时间:2023-11-29 01:34:46 26 4
gpt4 key购买 nike

我有一个“团队”类,它可以有很多用户。

每次将用户添加到团队时,我都需要创建一个“从/到”关系。每个用户都可以评分并被他的所有队友评分。

这是我的云代码。我似乎无法让这个工作。

// add Team relations for every saved player
Parse.Cloud.afterSave("Team", function(request) {

// Team being saved
var team = request.object,
relation = team.relation("players"),
query = relation.query();

query.find({

// players on this Team
success: function(results) {

// all players on this Team
var i, j, player, teammate;
for (i = 0; i < results.length; i++) {
player = results[i];

// for each player add a new Rate relation (from/to)
for (j = 0; j < results.length; j++) {
teammate = results[i];

// if it's same player, escape relation
if (player == teammate) { continue; }

var Rate = Parse.Object.extend("Rate"),
rate = new Rate();

// create the relation from this player
var fromRelation = rate.relation('from');
fromRelation.add(player);

// to every other player on the team
var toRelation = rate.relation('to');
toRelation.add(teammate);

rate.save(null, {
success: function(_team) {

},
error: function(_team, error) {

}
});
}
}

response.success('rate relation success');

},
error: function(error) {
response.error('rate relation error');
}
});

});

将玩家添加到团队中效果很好,它在客户端运行。

数据浏览器上的类设置: Team Class Rate Class

最佳答案

您的类(class)是“Rates”,但您正在使用此代码:

 var Rate = Parse.Object.extend("Rate"),
rate = new Rate();

改为

 var Rate = Parse.Object.extend("Rates"),
rate = new Rate();

此外,请确保在添加关系之前创建了对象。

                        var Rate = Parse.Object.extend("Rate"),
rate = new Rate();

[.... MOVED BELOW .....}

rate.save(null, {
success: function(_team) {
[.... now create and save relations ...]
},

关于javascript - Parse.com Cloud Code 上的多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33089992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com