我正在寻找一种在领域查询中组合AND和OR的方法。
这是我的班级:
class Event extends RealmObject {
String id;
String date;
}
现在,我有一个id
的列表,我想要使用ID {1,4,5}和Event
检索date = "2016-01-01"
。在SQL中,我会有一个类似的查询:WHERE id IN ids AND date = 'mydate'
到目前为止我尝试过:
RealmQuery<Event> query = realm.where(Event.class);
for(String id : ids) {
query = query.or().equalTo("id", id);
}
query.equalTo("date", "2016-01-01");
但它不会那样工作。我怎么能在Realm中做到这一点?
答案 0 :(得分:2)
这是解决方案。感谢指点我“群组:
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++;
}