我开始在我的android项目中使用Realm ..
一切进展顺利......但我试图过滤数据,但我不能。
我想这样做一个查询:
SELECT * FROM messages WHERE (fromId='id1' AND toId='id2') OR (fromId='id2' AND toId='id1');
这是我的代码:
RealmResults<com.intcore.android.tawasol.Message> results =
realm.where(com.intcore.android.tawasol.Message.class).beginGroup().equalTo("fromId", fromId).equalTo("toId", toId).endGroup().or().
beginGroup().equalTo("fromId", toId).equalTo("toId", fromId).endGroup().findAllSorted("date", true);
但这只返回1个结果..它应该返回2个结果。
任何想法?
答案 0 :(得分:0)
您的查询看起来很好。尝试将查询拆分为结果,然后对其进行排序。
RealmResults<com.intcore.android.tawasol.Message> results;
results = realm.where(com.intcore.android.tawasol.Message.class).
beginGroup().equalTo("fromId", fromId).equalTo("toId", toId).endGroup()
.or().
beginGroup().equalTo("fromId", toId).equalTo("toId", fromId).endGroup()
.findAll();
results.sort("date") // ascending
results.sort("date", RealmResults.SORT_ORDER_DESCENDING); // descending