解析涉及Parse User的iOS关系查询

时间:2014-02-20 09:10:52

标签: ios objective-c parse-platform

在我的数据模型中,我有一个Session类,其中包含一个指向'User'实例的'owner'字段。我正在尝试检索给定用户拥有的所有会话,我只有他的objectId。这是我的疑问:

PFQuery *query = [PFQuery queryWithClassName:@"Session"];
NSString *userId = ...;
[query whereKey:@"owner" equalTo:[PFObject objectWithoutDataWithClassName:@"User" objectId:userId]];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    //Here objects is always empty, even though I have several sessions whose 'owner' matches userId
}];

显然我在这里做错了,但我不知道是什么。你能救我吗?

3 个答案:

答案 0 :(得分:3)

名称为User的班级与PFUser不同。在内部我相信parse.com使用_User来引用PFUser对象。尝试更改行:

[query whereKey:@"owner" equalTo:[PFObject objectWithoutDataWithClassName:@"User" objectId:userId]];

[query whereKey:@"owner" equalTo:[PFObject objectWithoutDataWithClassName:@"_User" objectId:userId]];

答案 1 :(得分:0)

我有同样的问题并解决了如下

[query whereKey:@"studId" equalTo:[PFObject objectWithoutDataWithClassName:@"_User" objectId:objUser.objectId]];

其中 studId 是学生班的字段

答案 2 :(得分:-1)

//只需添加以下代码即可,并确保传递用户的objectID而不仅仅是列名

[查询包括:@“所有者”];