それぞれが Student オブジェクトのリストを含む Teachers のリストがあります。各生徒には、毎日持参しなければならない教科書のリストが含まれています。次のようになります。
Teacher {
String teacherName;
RealmList<Student> students = new RealmList<>();
}
Student {
String studentName;
RealmList<SchoolDay> schooldays = new RealmList<>();
}
SchoolDay {
String day;
RealmList<RealmString> schoolbooks;
}
(RealmString は単純String
に としてラップされたプリミティブですRealmObject
)
特定の日に特定の生徒の教科書のリストを抽出したい - 何人かの生徒が同じ教科書を持っているかもしれないが、特定の日 (例えば、日曜日) の特定の生徒の本だけに関心がある。生徒は複数の教師のクラスに所属している可能性がありますが、毎週のブックリストは教師ごとに異なるため、そのうちの 1 人の結果にのみ関心があります。サンプル クエリ データは次のようになります。
teacher : steven
student : austin
day : sunday
これは私が立ち往生する場所です - これをサブクエリするにはどうすればよいですか? 興味のある教師を取得するには:
RealmResults<Teacher> = realm.where(Teacher.class).equalTo("teacherName", "steven").findAll();
ただし、その後、教師に対してサブクエリを実行し、生徒に対してサブクエリを実行する必要があります。または、それらすべてを同じクエリで実行することをお勧めします。最終結果として取得したいのは、その特定の生徒の教科書を表す文字列です。これどうやってするの?