2017-03-02 66 views
1

我使用Realm與我的Android應用程序,我有2個型號:TransactionCategory。每個事務都有一個到Category的外鍵。我想做一個查詢,在其中查找具有外鍵引用的所有類別。Android領域查詢不同的外鍵

public class Transaction extends RealmObject: 
    public Category category; 
    ... other fields 

我想這讓交易的不同類別的唯一列表:

RealmResults<Transaction> transactions = 
      realm.where(Transaction.class).distinct("category"); 

,但它不工作,因爲我需要它的索引和境界不支持外鍵索引

+0

貴類別有一個主鍵? – EpicPandaForce

+0

是的。交易和類別都有自己的主鍵。 –

+0

在Realm 3.0.0中,我認爲'distinct(「category.id」)'應該可以工作。 – EpicPandaForce

回答

2

如果你按照我的guide for Realm schema design in case of uni-directional links,如,你做

public class Transaction extends RealmObject: 
    public Category category; 

    @Index 
    public long categoryId; 
    ... other fields 

而且

public class Category extends RealmObject { 
    @PrimaryKey 
    public long id; 

    ... 

然後,你可以做

RealmResults<Transaction> transactions = 
     realm.where(Transaction.class).distinct("categoryId");