RestKit: Connecting Non-Nested Relationships Using Foreign Keys - invalid attributes given for source entity

試著忘記壹切 提交于 2020-01-06 15:20:11

问题


I am trying to map objects from two separate json files (while seeding an sqlite db with RestKit). The files are connected by a foreign id file1Code.

The structure looks like this:

File 1:

[ {
  "code": "1",
  "activ": false,
  "name": "Joe"
  },
  {
  "code": "2",
  "activ": false,
  "name": "John"
  }
]

File 2:

[
  {
  "code": 666000,
  "name": "Hausarzt",
  "file1Code": "1",
  "activ": false
  }
]

Entity for File 1 looks like this:

@interface File1Entity :  KeyTab  

Entity for File 2 looks like this:

@interface File2Entity :  KeyTab
    @property (nonatomic, retain) File1Entitiy *file1Obj;

    // Transient
    @property (nonatomic, retain) NSNumber *file1Code;

KeyTab (from which both inherit) looks like this:

@interface KeyTab :  NSManagedObject
    @property (nonatomic, retain) NSNumber * code;
    @property (nonatomic, retain) NSString * name;
    @property (nonatomic, retain) NSNumber * activ;        

Now I am trying to use the "Connecting Non-Nested Relationships Using Foreign Keys" from the RestKit documentation found here.

I am using addConnectionForRelationship like this:

[file2EntityMapping addConnectionForRelationship:@"file1Obj" 
    connectedBy:@{@"file1Code": @"code"}];

But get the error message "Cannot connect relationship: invalid attributes given for source entity" since file1Obj is a property and not an attribute.

Is this the right way to do this in RestKit?


回答1:


You need to add file1Code as a transient attribute on File2Entity and set it during the mapping. The foreign key connection is completed after the mapping so the original JSON is no longer available (hence the error that the data doesn't exist).



来源:https://stackoverflow.com/questions/29675849/restkit-connecting-non-nested-relationships-using-foreign-keys-invalid-attrib

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!