사용자 채팅 메시지를 사용자 정의 테이블에 저장하고 있습니다. 그리고 두 사용자 간의 메시지를 검색하고 싶습니다. 지금은 다음 코드를 사용하고 있습니다.
NSNumber *user_id, *user2_id;
...
//chatMessages = [dict valueForKey:@"items"];
NSMutableDictionary *getRequest = [NSMutableDictionary dictionary];
[getRequest setObject:@"created_at" forKey:@"sort_asc"];
[getRequest setObject:[NSArray arrayWithObjects:user_id,user2_id, nil] forKey:@"user_id[in]"];
[getRequest setObject:[NSArray arrayWithObjects:user2_id,user_id, nil] forKey:@"receiver_id[in]"];
[QBCustomObjects objectsWithClassName:@"Chat" extendedRequest:getRequest delegate:self];
그러나 이것은 이상한 결과를 검색합니다. SQL에서 나는 시도 할 것이다
WHERE (user_id='firstUser' AND receiver_id='anotherUser') or (user_id='anotherUser' AND receiver_id='firstUser')
그러나 QuickBlox에서 동일한 것을 어떻게 요청할 수 있는지 이해하지 못합니다.
다음 getRequest를 시도 할 수 있습니다.
NSMutableDictionary *getRequest = [NSMutableDictionary dictionary];
[getRequest setObject:@"created_at" forKey:@"sort_asc"];
NSArray *users = @[@(2000), @(1992)];
[getRequest setObject:users forKey:@"receiver[in]"];
[getRequest setObject:users forKey:@"sender[in]"];
[QBCustomObjects objectsWithClassName:@"Chat" extendedRequest:getRequest delegate:self];
이 경우 ID 2000과 1992의 사용자간에 모든 메시지를받습니다.
UPD : 이제 올바른 것 같습니다. (getRequest에서 동일한 사용자의 ID 배열을 전달하십시오)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다