2016-12-05 153 views
0

當我嘗試通過在equalTo查詢中傳遞對象來查詢對象關係時,IDE抱怨無法進行比較。查詢相互關聯的Realm對象的正確方法是什麼?我是否建立這樣的:如何查詢領域與Realm中的多個其他領域對象相關的對象Java

public class Workout extends RealmObject implements Parcelable { 

    @PrimaryKey 
    private String id; 
    @Required 
    private String name; 
    public RealmList<Set> sets; 
    public RealmList<Exercise> exercises; 
    private Date date; 

public class Set extends RealmObject implements Parcelable { 

    @PrimaryKey 
    private String id; 
    @Required 
    private Date date; 
    private Workout workout; 
    private Exercise exercise; 
    private int reps; 
    private float weight; 

回答

1

就我而言,我有一個對象(Workout),其中有一個或一個以上setsexercises與之相關的。 A setexerciseworkout有關。要計算給定訓練中給定練習的集合,我需要找到與exerciseworkout有關的所有集合。這可以通過使用任何唯一的字段來獲得所需的對象和點訪問表示法。

例如:

results = realm.where(Set.class).equalTo("workout.id", this.getId()) 
       .equalTo("exercise.id", exercise.getId()) 
       .findAll(); 

這裏我用的每個對象創建的UUID和比較,而不是對象本身。直到在Realm中實現抽象直接對象比較爲止。