2

は、私は2つのクラスがあります。ある部門に複数の従業員を配置することができます。私はいくつかの質問をしようとしました。最初の1が動作しているアンドロイドレルム1、クエリ

realm.where(Employee.class).equalTo("department.name", "deptName").findAll() 
realm.where(Department.class).equalTo("employee.name", "empName").findAll() 

は、もう一つはエラーが発生しました:

無効なクエリ:従業員がクラスを指すものではありません。

2番目の作業方法は?私はDepartmentクラスの従業員のRealmListを作る必要がありますか?

このクエリでは、指定した名前のEmployeeを持つDepartmentsをすべて取得します。

答えて

4

レルム3.5.0+:

public class Employee extends RealmObject { 
    @PrimaryKey 
    long id; 
    String name 
    Department department; 

    //getters setters etc. 
} 

public class Department extends RealmObject { 
    @PrimaryKey 
    int id; 
    String name; 

    @LinkingObjects("department") 
    private final RealmResults<Employee> employees = null; 
    //getters setters etc. 
} 
realm.where(Employee.class).equalTo("department.name", "deptName").findAll() 
realm.where(Department.class).equalTo("employees.name", "empName").findAll() 
+0

おかげで、私は、レルムの古いバージョンを持っていました。 – kkk