Best way to implement 1-many in CloudKit

I am trying to design a 1-many relationship between Advisors and Students in CloudKit. My problem is that in my model classes, I need Student to be able to refer to a Teacher -- so I have a teacher property of type Teacher. But in CloudKit, to establish the relationship, I need a CKRecord.Reference. So now I have two properties, each of which is relevant in different contexts.


Is there some standard way of doing this? I'm used to Backendless, that hides most of this detail, but I'd like to try Apple's approach so I don't need to worry about user management.


Thanks for any info ...


class Teacher : Equatable, CKRecordValueProtocol {
    var id: Int
    var lastName: String
    var firstName: String
    var students: [Student]
    
   // other stuff omitted
}
class Student : Equatable {
    var id: Int!
    var lastName: String!
    var firstName: String!
    var teacher: Teacher!                        // so we can point to the teacher in our model
    var teacherReference: CKRecord.Reference!    // so we can point to records in CloudKit
    var gpa: Double!
    // other stuff omitted
}