【问题标题】:Trying to query a PFRelation for a specific user in Parse尝试在 Parse 中查询特定用户的 PFRelation
【发布时间】:2013-12-27 07:08:36
【问题描述】:

我正在尝试查询应用当前用户的 PFRelation,以加载显示所有用户朋友的表格视图。每个用户在第一次使用该应用程序时都保存在一个名为“User”的类下,一旦他们添加了一个朋友,该朋友就会被添加到该用户的“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];
    }
}];

【问题讨论】:

    标签: ios parsing pfquery pfrelation


    【解决方案1】:

    查询用户表不要使用

    [PFQuery queryWithClassName:@"User"];
    

    改为使用

    [PFUser query];
    

    只有在您创建了自己的“用户”表时才使用第一个,此时如果您检查了数据浏览器,您将看到两个不同的表,都称为“用户”。

    【讨论】:

      【解决方案2】:

      试试这个:

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

      【讨论】:

      • 做到了!谢谢,埃里克。
      【解决方案3】:

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

      【讨论】:

      • 如果我查询当前用户,我会得到 friendsRelation:friendsRelation = "(.(null) -> _User)";我如何从中提取朋友列表?
      猜你喜欢
      • 2018-12-20
      • 1970-01-01
      • 2014-04-21
      • 2013-06-24
      • 1970-01-01
      • 1970-01-01
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多