使用从另一个表查询的用户objectId查询User表

时间:2015-07-23 16:57:16

标签: ios swift parse-platform

我尝试使用从另一个表中查询的用户User来查询我的objectId表。

这是我的代码:

func queryFriendsTable() {
    var queryFriends = PFQuery(className: "Activity")
    queryFriends.whereKey("type", equalTo: "friend")
    queryFriends.whereKey("fromUser", equalTo: PFUser.currentUser()!)
    queryFriends.includeKey("toUser")

    var queryUserTable = PFUser.query()
    queryUserTable!.whereKey("objectId", matchesKey: "toUser", inQuery: queryFriends)
    queryUserTable!.findObjectsInBackgroundWithBlock {
        (objects: [AnyObject]?, error: NSError?) -> Void in

        if error == nil {
            // The find succeeded
            // Do something with the found objects
            if let objects = objects as? [PFObject] {
                for object in objects {
                    self.friendNamesArray.addObject(object["username"]!)

                    println(self.friendNamesArray)
                }
            }
        }
    }
}

运行此查询时没有返回任何内容。我认为问题与toUser表中的objectId Activity是指针而不是字符串这一事实有关。 (我尝试在toUser点使用的matchesKey值是一个指针)

那么如何使用objectId方法从指针对象中将inQuery作为字符串?

1 个答案:

答案 0 :(得分:1)

你的怀疑是正确的。在查看用户的类时,Parse将找不到指针。相反,您需要做的是创建一个字符串变量并将其设置为queryFriends的结果。那么这意味着你必须首先运行该查询,获取指针,并将其作为字符串访问它的objectId字段,以便在您的后续查询中使用它。