2017-03-02 76 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");