在一个PFQuery中返回多个Parse类?

时间:2015-07-15 21:28:53

标签: ios swift parse-platform

我目前的解析类设置如下

  1. 用户 - objectid,用户名,密码,位置
  2. 个人资料 - 生日,体重,身高等......
  3. 设置 - 用户应用偏好设置,例如"显示我的位置"
  4. 配置文件和设置都有一个指向用户objectid的指针,称为" user"

    无论如何,我可以通过知道返回个人资料和设置的Users.objectid来调用查询吗?

    我玩过包含密钥匹配查询,但只能获得空结果。

    如果不可能在两个查询完成后有办法执行某个功能吗? (使用getFirstObjectInBackgroundWithBlock)

    非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

不,但你可以在一个函数中隐藏组合....

function profileAndSettingsForUser(user) {
    var profiles;
    var profileQuery = new Parse.Query("Profile");
    profileQuery.equalTo("user", user);
    return profileQuery.find().then(function(result) {
        profiles = result;
        settingsQuery = new Parse.Query("Settings");
        settingsQuery.equalTo("user", user);
        return settingsQuery.find();
    }).then(function(settings) {
        return profiles.concat(settings);
    });
};

您甚至可以在云中找到该功能,以便从客户端隐藏该组合。

Parse.Cloud.define("profileAndSettingsForUser", function(request, response) {
    // we could pass a userId in params, then start by querying for that user
    // or, if we know its always the current user who's calling for his own profile and settings...
    var user = request.user;

    profileAndSettingsForUser(user).then(function(profileAndSettings) {
        response.success(profileAndSettings);
    }, function(error) {
        response.error(error);
    });
});