PFRelation Query不返回对象

时间:2014-11-01 03:15:39

标签: ios parse-platform

我有一个PFObject,Object1和另一个对象Object2的PFRelation。当我查询所有Object1时,当我遍历数组时,我尝试获取PFRelation到Object2的查询以便下拉该对象。我遇到的问题是来自PFRelation的查询结果总是为空。

PFQuery *relationQuery = [PFObject1.childRelationship query];
[relationQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
   NSLog(@"I'm empty);
}];

如果我进入Parse控制台,我可以清楚地看到Object1和Object2之间的关系完好无损。我可以点击Object1上的关系,它会把我带到正确的Object2。

无论它总是空的。

2 个答案:

答案 0 :(得分:0)

我错误地认为解析中的对象之间的关系属于PFRelation类型,而实际上它只是PFReleation,如果它是多对多的关系,否则它是指向另一个类的指针。我在指针上将代码更改为“fetchIfNeeded”以拉动我的对象,现在它可以正常工作。

答案 1 :(得分:0)

@Adam我最初也犯了Pointer / PFRelation错误 - 我应该更仔细地阅读文档!如果您每次都需要相关对象,这可能更容易/更清洁。根据Parse文档,这里有如何做到这一点。 includeKey是必不可少的部分。希望有用

PFQuery *query = [PFQuery queryWithClassName:@"Comment"];

// Retrieve the most recent ones
[query orderByDescending:@"createdAt"];

// Only retrieve the last ten
query.limit = 10;

// Include the post data with each comment
[query includeKey:@"post"];

[query findObjectsInBackgroundWithBlock:^(NSArray *comments, NSError *error) {
  // Comments now contains the last ten comments, and the "post" field
  // has been populated. For example:
  for (PFObject *comment in comments) {
     // This does not require a network access.
     PFObject *post = comment[@"post"];
     NSLog(@"retrieved related post: %@", post);
  }
}];

https://www.parse.com/docs/ios_guide#queries-relational/iOS