2016-12-05 66 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中实现抽象直接对象比较为止。