我有一个包含数据的Realm数据库。我需要根据给定的日期从数据库中获取多行。我使用了以下查询,但它没有返回所需的结果。
RealmResults<GenericTrait> result = realm.where(GenericTrait.class)
.equalTo("date", MainActivity.date)
.equalTo("id","Openness")
.or()
.equalTo("id","Neuroticism")
.findAll();
我需要获取给定日期的开放性,神经质的id的行。我该怎么办请帮忙。
答案 0 :(得分:1)
在Realm中,OR是隐含的,而OR是显式的。所以目前您的查询将如下所示:
(date = MainActivity.date AND id = Openness) OR id = Neuroticism
您可以手动设置beginGroup / endGroup,因此您的查询应该是:
RealmResults<GenericTrait> result = realm.where(GenericTrait.class)
.equalTo("date", MainActivity.date)
.beginGroup()
.equalTo("id","Openness")
.or()
.equalTo("id","Neuroticism")
.endGroup()
.findAll();
这将为您提供正确的分组:
date = MainActivity.date AND (id = Openness OR id = Neuroticism)