我要执行连接查询
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 |
我想得到输出-? 约翰,电脑
如何在 Realm 中执行查询?
最佳答案
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)
}
Realm List
对象不存储 Object
实例的副本;它们只在其表中存储对相应 Object
的引用。通过这种方式,它复制了您在连接查询中期望的相同类型的设置。
如果您需要进一步说明,请告诉我! :)
关于swift - 如何使用 swift 在 Realm 中执行连接查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39678008/