2016-06-21 2 views
1

영역 쿼리에서 AND와 OR를 결합하는 방법을 찾고 있습니다.영역 : 결합 "또는"and "and"

나는 내가 가지고있는 것은 "ID"의 목록입니다

class Event extends RealmObject{ 
    String id; 
    String date; 
} 

객체에게 본당. 지금 나는 모든 이벤트를 원한다. ID는 1,4,5이고 날짜는 2016-01-01이다.

RealmQuery<Event> query = realm.where(Event.class); 

for(String id : ids) { 
    query = query.or().equalTo("id", id); 
} 

query.equalTo("date", "2016-01-01"); 

BU 지금 이런 식으로 작업 : SQL에서 나는 내가 지금까지 시도 무엇 WHERE id IN ids AND date = 'mydate'

같은 쿼리 뭔가있을 것입니다. 그러면 렐름에서 어떻게 이것을 할 수 있습니까?

+1

시도 EqualTo가 ("ID ", 1) 불러야() .equalTo ("id", 2) .endGroup(). equalTo ("date", "2016-01-01"); – beeender

답변

1

여기 해결책입니다. 에 나를 가리키는 덕분에 "그룹에게 :. realm.where (Event.class) .beginGroup()`같은 쿼리 뭔가를 구축하는 루프를 사용하는

RealmQuery<Event> query = realm.where(Event.class); 
int x = 0 
for(String id : ids) { 
    if (x != 0) { 
    query.or(); 
    } 
    query.beginGroup(); 
    query.equalTo("id", id); 
    query.equalTo("date", "2016-01-01"); 
    query.endGroup(); 
    x++; 
}