我有一個教師列表,每個都包含一個Student對象列表。每個學生都包含他必須每天帶來的教科書清單。它看起來像這樣:Android:使用Realm製作嵌套查詢?
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
)
我想提取教科書的列表中的某一天某個學生 - 幾個學生可能具有相同的教科書,但我只對一個特定的學生在某一天(例如,星期天)的書感興趣。一個學生可能在幾個老師的班上,但我只對其中一個老師的成績感興趣,因爲每個老師的每週書單都會有所不同。示例查詢數據可能是:
teacher : steven
student : austin
day : sunday
這是我卡住的地方 - 如何子查詢這?要獲得我感興趣的老師:
RealmResults<Teacher> = realm.where(Teacher.class).equalTo("teacherName", "steven").findAll();
不過,我接下來要運行老師一個子查詢和對學生的子查詢 - 或者更好的,運行所有的人都在同一個查詢莫名其妙。作爲我的最終結果,我想得到的僅僅是代表該特定學生教科書的字符串。我怎樣才能做到這一點?
謝謝,但是這種方法只返回老師的對象,我想要找回包含教科書的字符串。有沒有辦法直接從Realm中選擇教科書字符串? – Jon
@Jon當你找到老師時,你可以在一個查詢中獲得他的課本。如果你不知道該怎麼做,我可以編輯我的答案。我是這樣說的,因爲'findAll()'方法可以返回給定名稱的多個教師,並且您可以使用for循環 –
您的意思是在另一個領域查詢中嗎?是的,我會很感激 - 非常感謝。 – Jon