我想执行连接查询
table1)
class student
{
name:String
classcode:Int
}
table2)
class classcode
{
classcode:Int
name:String
}
数据示例
student:
| name | classcode |
| john | 001 |
| Kim | 002 |
classcode:
| classcode | name |
| 001 | computer |
| 002 | Math |
我想获得输出 - ? john,computer
如何在Realm中执行查询?
答案 0 :(得分:2)
Realm是一个基于对象的数据库,因此查询中连接的概念并不适用于它。
在这种特殊情况下,将classcode
个对象设置为student
类中的列表是合适的。像这样:
class Class: Object {
dynamic var classCode = 0
dynamic var name = ""
}
class Student: Object {
dynamic var name = ""
let classes = List<Class>()
}
---
let realm = try! Realm()
let computerClass = Class()
computerClass.classCode = 1
computerClass.name = "Computer"
let newStudent = Student()
newStudent.name = "John"
newStudent.classes.append(computerClass)
try! realm.write {
realm.add(computerClass)
realm.add(newStudent)
}
领域List
对象不存储Object
个实例的副本;它们仅存储对其表中相应Object
的引用。通过这种方式,它可以复制您在连接查询中所期望的相同类型的设置。
如果您需要澄清,请告诉我们! :)