우정 등급으로 fromUser
및 toUser
키를 사용하여 사용자 우정을 정렬했습니다. currentUser
으로 우정에 있지 않은 사용자 만 반환하려는 경우 두 개의 whereKey:doesNotMatchKey:inQuery:
을 사용하여 현재 친구를 분류하고 싶습니다. 나는이 두 줄 중 하나를 주석 경우 예상대로여러 개의 whereKey : doesNotMatchKey : inQuery : 하나의 검색어로
PFQuery *query = [PFUser query];
[query whereKey:@"objectId" notEqualTo:[PFUser currentUser].objectId];
[query whereKey:@"username" hasPrefix:string];
PFQuery *fromFriends = [PFQuery queryWithClassName:parseFriendshipClassName];
[fromFriends whereKey:parseFriendshipFromUserKey equalTo:[PFUser currentUser]];
-> [query whereKey:@"objectId" doesNotMatchKey:parseFriendshipToUserIdKey inQuery:fromFriends];
PFQuery *toFriends = [PFQuery queryWithClassName:parseFriendshipClassName];
[toFriends whereKey:parseFriendshipToUserKey equalTo:[PFUser currentUser]];
-> [query whereKey:@"objectId" doesNotMatchKey:parseFriendshipFromUserIdKey inQuery:toFriends];
는, 다른 하나는 작동하지만, 그들이 거기에 모두있는 경우에만 그 중 마지막 작품.
Friendship 테이블에서 사용자는 포인터 및 해당 objectId
으로 참조됩니다. 여기에 그들을 참조하려면 objectId
을 사용합니다. 그래서 ID에 대한 포인터를 비교하기 때문에 아닙니다.
문서가 제안하는 것처럼 보이지 않습니다. 하나 이상의 문서를 추가하면 이전 문서보다 우선합니다.
이 예상되는 동작입니까? 아니면 내가 잘못하고있는거야?
어떻게 도움이 될까요? 내가하려고하는 것은 OR 쿼리가 아니라 AND 쿼리입니다. 두 개의 하위 쿼리에서 두 개의 다른 키를 비교하고 있습니다. – Stjernegard