尝试在Parse中查询特定用户的PFRelation

时间:2013-12-09 23:33:20

标签: ios parsing pfquery pfrelation

我正在尝试查询应用当前用户的PFRelation,以加载显示所有用户朋友的表格视图。每个用户在首次使用该应用程序时都会保存在名为“用户”的类下,并且一旦他们添加了该朋友,该朋友就会添加到该用户的“friendsRelation”列中。我正在使用这个来自link的代码,并且查询中没有返回任何内容。

PFQuery *query = [PFQuery queryWithClassName:@"User"];
[query whereKey:@"friendsRelation" equalTo:[PFUser currentUser]];

[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (error) {
        NSLog(@"An error occurred fetching friends");
    }

    else {
        [self.friends addObjectsFromArray:objects];
        [self.tableView reloadData];
    }
}];

3 个答案:

答案 0 :(得分:4)

试试这个:

PFRelation *relation = [[PFUser currentUser] relationForKey:@"friendsRelation"];
PFQuery *query = [relation query];
[query findObjectsInBackgroundWithBlock:^(NSArray *results, NSError *error) {
     // results contains all friends of current user
}];

答案 1 :(得分:1)

您不是在查询PFUser表,因此您无法使用[query whereKey:@"friendsRelation" equalTo:[PFUser currentUser]];查询User表,因为friendsRelation不包含任何PFUser表对象,但User个对象。只需获取代表当前用户的User对象,并使用它来查询关系。

答案 2 :(得分:1)

要查询“用户”表,请不要使用

[PFQuery queryWithClassName:@"User"];

改为使用

[PFUser query];

如果您已经创建了自己的"用户"表格,此时如果您选中了数据浏览器,您将看到两个名为" User"的表格。