2014-11-02 6 views
1

두 클래스가 있습니다 UserPost입니다. User 클래스는 userType 필드를 가지고 있으며 주어진 userType에서 모든 게시물을 검색하여 그룹 x라고 부를 수 있습니다. Post 클래스에는 User 클래스에 대한 포인터가 있습니다.IOS 구문 분석 두 클래스를 기반으로 한 쿼리에서 개체를 검색하는 방법은 무엇입니까?

내가 원하는 사용자의 유형에 대해 모든 사용자 ID를 검색 첫째, 같은 일을하려고했다 : 나는이하며 Object를 기반으로 쿼리 싶어 다음

PFQuery *queryUser = [PFQuery queryWithClassName:kFTUserClassKey]; 
[queryUser whereKey:kFTUserTypeKey equalTo:kFTUserTypeX]; 
[queryUser whereKey:kFTUserLocationKey nearGeoPoint:nearGeoPoint withinMiles:miles]; 
[queryUser findObjectsInBackgroundWithBlock:^(NSArray *usersTypeX, NSError *error) { 
      if (!error) { 
       NSMutableArray *objectIds = [[NSMutableArray alloc] init]; 

       // Add ambassador ids into query 
       for (PFObject *userX in usersTypeX) { 
        [objectIds addObject:[PFObject objectWithoutDataWithClassName:kFTUserClassName objectId: userX.objectId]]; 
       } 
      } 
}]; 

그리고하지만 난 쿼리하는 방법을 잘 모르겠습니다 또는이 작업을 수행하는 올바른 방법이라면. 어떻게 할 수 있습니까?

답변

3

구문 분석 쿼리에 matchesQuery 방법을 제공, 그래서 ...

PFQuery *innerQuery = [PFQuery queryWithClassName:@"User"]; 
[innerQuery whereKey:@"userType" equalTo:@"X"]; // fix with your real user type 
PFQuery *query = [PFQuery queryWithClassName:@"Post"]; 
[query whereKey:@"user" matchesQuery:innerQuery]; 
[query findObjectsInBackgroundWithBlock:^(NSArray *posts, NSError *error) { 
    // posts are posts where post.user.userType == X 
}];