使用多个类在parse.com中创建关系(JavaScript SDK)

时间:2014-06-12 09:03:00

标签: javascript parse-platform

使用parse.com和JavaScript SDK。

我已经阅读了很多关于此的内容,但找不到任何适合我的问题的例子我想解决。

这是我试图实现的目标。

我希望类“FriendRequest”与“myBadges”有一对多的关系。 “myBadges”中的子对象将会加班。

子对象是由用户选择徽章并使用“是,立即执行!”时运行的函数生成的。将其存储在“myBadges”中。

目前我似乎只能在函数使用的活动类中创建一个关系。这意味着我在“myBadges”中设置了一个关系,它只指向User类,而不是“FriendRequest”类。

关系在这段代码中

                success: function(results) {
                        // The object was saved successfully.
                        userbadges.relation('BadgeConnect').add(userbadges);
                        userbadges.save();

所以我试图解决的问题是将关系链接从“myBadges”类移到“FriendRequest”类???

一个例子回答如何实现这一目标对于帮助我学习正确的方法非常有用。

完整代码。

<script type="text/javascript">
        Parse.initialize("xxxx", "xxxxx");
        var MyBadges = Parse.Object.extend("myBadges");
        var friendRequest = Parse.Object.extend("FriendRequest");

        var userbadges = new MyBadges();
        var friendRequest = new friendRequest();
        var user = Parse.User.current();


        $(document).ready(function() {

            $("#send").click(function() {

                var badgeselected = $('#badgeselect .go').attr("src");
                userbadges.set("BadgeName", badgeselected);
                userbadges.set("uploadedBy", user);
                //userbadges.set('BadgeName');
                //userbadges.save();

                userbadges.save(null, {
                    success: function(results) {
                        // The object was saved successfully.
                        userbadges.relation('BadgeConnect').add(userbadges);
                        userbadges.save();
                        //location.reload();
                    },
                    error: function(contact, error) {
                        // The save failed.
                        // error is a Parse.Error with an error code and description.
                        alert("Error: " + error.code + " " + error.message);
                    }
                });
            });
        });

1 个答案:

答案 0 :(得分:2)

与大多数问题一样,有很多方法可以解决它。

如果您的目标是能够从任何一方查询此关系,那么我会看到两个主要选项:

  • myBadges类的后保存创建云函数,该类在FriendRequest侧创建关系的副本。我不确定对此有多少支持,因为我从未尝试过。
  • 创建自己的关系类,例如myBadges_FriendRequest,里面有一个指向其他每个类的指针,以及你可能想知道的关于这种关系的任何其他内容

我个人推荐第二个选项。对于查询,您可以根据关系的任意一方轻松请求信息,并使用include()根据需要填充结果中的两个指针。