Restkit在嵌套的外键关系中使用@parent

时间:2014-01-19 05:19:19

标签: ios json restkit restkit-0.20

我最困难的时候是使用RestKit建立一些关系。

itemvenue之间存在一对多的关系,但是通过多层次的关系。

以下是JSON结构的概述:

{
    "id": 1, 
    "name": "Venue Name", 
    "sections": [
        {
            "id": 1, 
            "name": "Paper", 
            "categories": [
                {
                    "id": 1, 
                    "name": "Paper Goods", 
                    "items": [
                        {
                            "venue" : 1
                            // Other data goes here
                        }
                }
         }
}

我正在尝试将venue外键与id的{​​{1}}属性相关联。

我尝试过以下操作:

Venue

但是在对象映射之后,场地属性是nil。

如何在此中使用NSEntityDescription * itemEntity = [NSEntityDescription entityForName:@"DSItem" inManagedObjectContext:managedObjectStore.mainQueueManagedObjectContext]; NSRelationshipDescription * venueRel = [itemEntity relationshipsByName][@"venue"]; RKConnectionDescription * connection = [[RKConnectionDescription alloc] initWithRelationship:venueRel attributes:@{@"venue" : @"pk"}]; // id --> pk on DSVenue class 来创建外键关系?或者有更好的方法吗?

类似的东西:

@parent

我看过那个问题this但它似乎适用于将属性链接到父属性,而不是将外键链接到实体。

任何帮助将不胜感激!

编辑:这是所有的映射代码

@{@"@parent.@parent.@parent.pk" : @"venue"}

1 个答案:

答案 0 :(得分:1)

不要做你想做的事。您的映射看起来很好,假设您在模型中配置了反向关系,您可以只从项目实体导航到相关的场地实体。

那就是说,我认为@parent.id引用应该可以使连接成为可能(通过提供对id的访问)。但同样,真的不需要。您可以在模型上获取和预测,以获得您所需的任何信息。