У меня есть две таблицы с именами Class и Student, и все, что я хочу, - это получить доступ к значениям Class, к которым должен обращаться мой объект Student. И для этого то, что я должен знать из быстрых документов Realm, это использование Linking Objects. Нужна помощь в реализации этой идеи. Вот мой код:
class ClassModel: Object {
@objc dynamic var classId = 0
@objc dynamic var className = ""
@objc dynamic var classNotification = 0
var students = List<StudentModel>()
override class func primaryKey() -> String {
return "classId"
}
}
class StudentModel: Object {
@objc dynamic var sId = 0
@objc dynamic var rollNum = ""
@objc dynamic var firstName = ""
@objc dynamic var lastName = ""
@objc dynamic var DOB = ""
@objc dynamic var gender = ""
@objc dynamic var picture = ""
@objc dynamic var pictureThumbnail = ""
@objc dynamic var pickupStatus = 0
let fromClass = LinkingObjects(fromType: ClassModel.self, property: "students")
override class func primaryKey() -> String {
return "sId"
}
}
//I want something like this from student table.
func fetchStudents(byCLassId: Int) -> Results<StudentModel> {
let realm = try! Realm()
let predicate = NSPredicate(format: "classId == %i", byCLassId)
return realm.objects(StudentModel.self).filter(predicate)
}
// and result should be like a single object which have similar classId.