2015-11-22 125 views
0

我在我的Android项目中使用领域起步..领域查询的Android

一切都进行得很顺利。但我试图过滤数据,但我不能。

我要让这样的查询:

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

你的查询看起来很好。尝试将查询拆分为结果,然后对其进行排序。

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