2014-02-20 105 views
0

在我的數據模型中,我有一個具有指向「用戶」實例的「所有者」字段的Session類。我試圖檢索給定用戶擁有的所有會話,我只有他的objectId。這是我的查詢:解析涉及解析用戶的iOS關係查詢

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

名稱爲User的課程與PFUser不相同。在內部,我相信parse.com使用_User來引用一個PFUser對象。嘗試改變行:

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

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

+0

非常感謝。我希望在某個地方記錄下來。 – Sebastien

+0

它實際上在Parse數據瀏覽器中可見,正好在列名旁邊。適當的文檔雖然會很棒。 – cdstamper

-1

//只需添加以下代碼,這將是工作,並確保你逝去的用戶,而不是單純的列名

的objectID

[查詢內容包括:@「owner」];

+0

其實我正在使用錯誤的類名。 – Sebastien

0

我有同樣的問題,解決了這個問題,如下

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

其中studId是學生類的領域