2013-06-26 5 views
2

다음은 내가하려는 일의 예입니다. PFUser로 현재 사용자가 있고 Item이라는 다른 클래스에 PFUser의 관계 인 "소유자"라는 관계가 있습니다. 관계에 현재 사용자가있는 Item의 모든 인스턴스를 쿼리하려고합니다.Parse : PFUser를 가지고있을 때 PFRelation을 사용하여 어떻게 쿼리합니까?

내가 쿼리하는 반대 방법의 예를 볼 수 있지만 관계를 가져 와서 관계에 대한 PFUser 일치를 필터링하는 방법을 볼 수 없습니다. 한 가지 예가 있습니다.

https://www.parse.com/questions/inverse-relationship-support

PFObject 교사 = ... // PFObject 클래스 "교사"의 PFRelation studentsRelation = [교사 relationforKey : @ "학생"]; PFQuery * query = studentsRelation.query; [쿼리 findObjectsInBackground : ... 내가 이런 짓을 했을까 내 예를 들어

...

이 가
PFObject item = [PFObject objectWithClassName:@"Item"]; 
PFRelation relation = [parseObject relationforKey:@"owner"]; // Filter to PFUser? 
[query findObjectsInBackground:... 

내가 whereKey를 사용할 수 있지만, 내가 무엇을 사용합니까? objectId와 일치합니까?

[query whereKey:@"objectId" equalTo:user.objectId]; 

계속 오류 102 : 유효한 포인터가 RelatedTo 연산자에 필요합니다. 내 생각 엔 빈 객체로 시작하기 때문에 출발점이 없다는 것입니다. Teacher의 예제는 채워진 인스턴스로 시작해야합니다. PFUser는 내가 채울 수있는 유일한 것입니다. Item 인스턴스를 쿼리하고 현재 사용자에게 소유하고있는 "소유자"관계에 필터하는 방법이 있어야합니다. 알아낼 수 없으며이 쿼리를 수행하는 방법에 대한 예제를 찾지 못했습니다.

이 질문은 Parse.com에 있습니다 : 당신은 관계 열에 whereKey:equalTo:를 사용하고 그것을 PFObject를 전달할 수 있습니다 https://parse.com/questions/how-do-i-query-using-pfrelation-when-i-just-have-pfuser

답변

9

. 이 쿼리는 그들의 "students" 관련이 student이있는 모든 Teacher 개체를 반환합니다 :이 예에서

PFQuery *query = [PFQuery queryWithClassName:@"Teacher"]; [query whereKey:@"students" equalTo:student];

에서, student"students"의 관계를 일치하는 클래스 명을 가진 PFObject입니다. 이 PFUser s의 관계이며 현재 사용자의 "Teacher"의를 찾고 있다면, 당신은 사용하십시오 :

PFQuery *query = [PFQuery queryWithClassName:@"Teacher"]; [query whereKey:@"students" equalTo:[PFUser currentUser]];

또한 구문 분석의 커뮤니티 포럼에 게시 된이 답변 : https://parse.com/questions/how-do-i-query-using-pfrelation-when-i-just-have-pfuser

+0

안녕하세요 헥터 전 pfrelation을 사용하여 문제에 직면하고 있습니다. 제발 도와주세요.이 링크를 참조하고 솔루션을 제공하십시오. //http : //stackoverflow.com/questions/17722435/how-to-get-the-pfrelation-objects-while-getting- the-pfquery-objects – Romance