领域查询根据日期Android获取多行

时间:2015-06-14 11:17:40

标签: android realm

我有一个包含数据的Realm数据库。我需要根据给定的日期从数据库中获取多行。我使用了以下查询,但它没有返回所需的结果。

 RealmResults<GenericTrait> result = realm.where(GenericTrait.class)
                .equalTo("date", MainActivity.date)
                .equalTo("id","Openness")
                .or()
                .equalTo("id","Neuroticism")
                .findAll();

我需要获取给定日期的开放性,神经质的id的行。我该怎么办请帮忙。

1 个答案:

答案 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)