2015-07-05 10 views
8

Mam następujące kwerendy obszar, ale od czytania dokumentacji nie widzę możliwości wykonania kwerendy IN.Zapytanie o obszar możliwe do użycia w IN?

Potrzebuję wyszukać identyfikator w łańcuchu lub tablicy zawierającej ten identyfikator. czy to możliwe?

Przykładowy kod:

Realm realmThread = Realm.getInstance(visnetawrap.appModel); 
RealmResults<PropertyObject> propResults = realmThread.where(PropertyObject.class).contains("propertyID", "(5,7,10)").findAll(); 

Odpowiedz

2

Obawiam się, że jestem wskazując na oczywiste, ale można łańcuch or ed equalTo s.

RealmQuery<PropertyObject> query = realm.where(PropertyObject.class); 
query.beginGroup(); 
for(int i = 0; i < propertyIDs.length - 1; i++) { 
    query.equalTo("propertyID", propertyIDs[i]).or(); 
} 

query.equalTo("propertyID", propertyIDs[propertyIDs.length - 1]).endGroup(); 
RealmResults<PropertyObject> propResults = query.findAll(); 
+1

Funkcja 'in' jest już dostępna (https://github.com/realm/realm-java/issues/841). I jeden z autorów (?) Sugeruje podobne obejście. –