2016-06-21 13 views
1

私はレルムクエリでANDとORを組み合わせる方法を探しています。レルム:結合 "または"と "と"

私は私が持っているどのようなオブジェクト

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

を身廊が "ID" のリストです。今度は私のすべてのイベント、ids {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"、2).endGroup()。equalTo( "date"、 "2016-01-01"); ' – beeender

答えて

1

ここに解決策があります。 ":(ID」、1).OR()。` realm.where(Event.class).beginGroup()equalToのようなクエリ何かを構築するためにループを使用する

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++; 
} 
関連する問題