【问题标题】:ios Realm Swift get all children for a parent entityios Realm Swift 获取父实体的所有子实体
【发布时间】:2015-08-18 14:30:16
【问题描述】:

我的模型有一对多关系,

使用 Realm,如何获取特定父实体的所有子实体?

ProductsDao.allObjects() 有关系做谓词吗?

【问题讨论】:

    标签: ios swift realm


    【解决方案1】:

    一旦你有了你的父对象,你就可以通过relationships得到它的子对象

    例如

    class Person: Object {
        ... // other property declarations
        let dogs = List<Dog>()
    }
    

    现在假设我们有一个名为“jim”的 Person 对象,我们可以这样做

    jim.dogs //Get all children of jim

    【讨论】:

    • 可怜的吉姆,他的孩子都是狗。
    【解决方案2】:

    所以要建立一对多关系,这是父实体的模型:

    import Realm
    
    class Supplier: RLMObject {
        dynamic var name = ""
        dynamic var email = ""
        dynamic var phone = ""    
        dynamic var products = RLMArray(objectClassName: ProductsDao.className())
    }
    

    然后得到“产品”

    产品 = 供应商?.产品

    【讨论】:

    • 正确,您只需要获取您的供应商对象:let supplier = Supplier.allObjects().firstObject()println(supplier?.products) 如果您只使用 Swift,我建议使用 RealmSwift 而不是桥接 Objective-C Realm
    猜你喜欢
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    相关资源
    最近更新 更多