从关系解析

时间:2015-11-03 16:54:36

标签: ios swift parse-platform relationship

我使用parse来保存核心数据的记录。 我有2个课程:Activite和Famille。 Famille与Activite只有一个关系。

当我查询获取所有Famille的数据时,我如何从Activite获得关系(objectId)?

    func loadDataFromParse(){

    let query = PFQuery(className:"Famille")

    query.findObjectsInBackgroundWithBlock {

        (famille: [PFObject]?, error: NSError?) -> Void in

        let familleA = NSMutableArray()

        if error == nil {

            print("Successfully retrieved \(famille!.count) familles.")

              print(famille)

                for object in famille! {

                    let familleDico = NSMutableDictionary()

                    familleDico.setObject((object.valueForKey("nom")!), forKey: "nom")

                    familleDico.setObject((object.valueForKey("objectId")!), forKey: "id")

                    familleDico.setObject((object.valueForKey("createdAt")!), forKey: "dateCreation")

                    familleDico.setObject((object.valueForKey("updatedAt")!), forKey: "dateModif")

                    familleDico.setObject((object.valueForKey("tauxRem")!), forKey: "tauxRem")

                    familleDico.setObject((object.valueForKey("remuneration")!), forKey: "remuneration")

                    familleDico.setObject((object.valueForKey("tva")!), forKey: "tva")

                    familleA.addObject(familleDico)

                     print(famille)

                }


               // self.verifDateAvantMaj(familleA)
                // self.insertDataToCoreData(activiteA)
           // }
        } else {
            // Log details of the failure
            print("Error: \(error!) \(error!.userInfo)")
        }
    }
}

当我使用print(famille)时,我有这个:  Optional([<Famille: 0x7f95abc3cfe0, objectId: ciEf9sdT4B, localId: (null)> { inActivite = "<PFRelation: 0x7f95abc3d1a0, 0x0.(null) -> Activite>"; nom = Tableterie; remuneration = Marge; tauxRem = 5; tva = 20; }

因此可以获得PFRelation吗?

2 个答案:

答案 0 :(得分:0)

如果你想要PFRelation对象,你可以通过

来实现
let relation = object.relationForKey("inActivite")

答案 1 :(得分:0)

该关系类似于sql中的连接表。你可以得到这样的关系的价值:

let relation = object.relationForKey("inactivate")

关系提供了一个可以运行以获取相关对象的查询:

let inactiveQuery = relation.query()
inactiveQuery.findObjectsInBackgroundWithBlock {
    (inactives: [PFObject]?, error: NSError?) -> Void in
    // inactives is an array of the related objects