我有一個複合查詢,如下所示。Parse.com - 奇怪的includeKey問題
- (PFQuery *)queryForPhotos {
if (![PFUser currentUser]) {
PFQuery *query = [PFQuery queryWithClassName:kPAPPhotoClassKey];
[query setLimit:0];
return query;
}
// Query for users with the same language level
PFQuery *sameLevelUsersQuery = [PFUser query];
[sameLevelUsersQuery whereKey:kWSUserLanguageLevelKey equalTo:[[PAPCache sharedCache] languageLevelForUser:[PFUser currentUser]]];
sameLevelUsersQuery.cachePolicy = kPFCachePolicyNetworkOnly;
sameLevelUsersQuery.limit = 1000;
PFQuery *photosFromSameLevelUsersQuery = [PFQuery queryWithClassName:kPAPPhotoClassKey];
[photosFromSameLevelUsersQuery whereKey:kPAPPhotoUserKey matchesQuery:sameLevelUsersQuery];
[photosFromSameLevelUsersQuery whereKeyExists:kPAPPhotoPictureKey];
[photosFromSameLevelUsersQuery whereKey:kWSUniversalIsDeletedKey notEqualTo:[NSNumber numberWithBool:YES]];
[photosFromSameLevelUsersQuery includeKey:kWSPhotoCommentObjectForTitleKey]; // THE INCLUDED KEY IN QUESTION
[photosFromSameLevelUsersQuery orderByDescending:@"createdAt"];
// A pull-to-refresh should always trigger a network request.
[photosFromSameLevelUsersQuery setCachePolicy:kPFCachePolicyNetworkOnly];
return photosFromSameLevelUsersQuery;
}
如果我離開這一行:
[photosFromSameLevelUsersQuery includeKey:kWSPhotoCommentObjectForTitleKey]; // THE INCLUDED KEY IN QUESTION
然後我只得到1包含在該領域的commentObject photoObject。然而,數據庫中的(當前)26張照片中有3張在該領域有評論,因此我應該在該領域獲得3張照片。一個commentObject會加載所有的字段。然而,如果我遺漏了那條includeKey
行,那麼在該字段中有某些東西的所有3個photoObjects都會在該字段中返回一個commentObject。但是,在這種情況下,對象是空的,我不得不打電話fetchIfNeeded
檢索他們的數據。
我寧願不這樣做,並且必須重新加載tableView on callback,如果我能以正確的方式第一次加載數據。
任何想法?
拍攝。在複製/粘貼/清理代碼時,我總會遇到一些混合的方法。我運行它的方法現在顯示,運行時它是'photosFromSameLevelUsersQuery',所以這不是問題。抱歉。 – Ramsel