我是RestKit的新手,正在挣扎。
JSON:
{
"teams": [
{
"id": 1,
"name": "Team A"
},
{
"id": 2,
"name": "Team B"
}
],
"users": [
{
"id": 1,
"name": "cameron",
"teamId": 1
},
{
"id": 2,
"name": "paul",
"teamId": 2
}
]
}
核心数据:
@interface Team : NSManagedObject
@property (nonatomic, retain) NSNumber * teamId;
@property (nonatomic, retain) NSString * name;
@end
@interface User : NSManagedObject
@property (nonatomic, retain) NSNumber * userId;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) Team * team;
@end
我的应用程序逻辑如下所示:
// team mapping
RKEntityMapping *teamMapping = [RKEntityMapping mappingForEntityForName:@"Team" inManagedObjectStore:[RKManagedObjectStore defaultStore]];
teamMapping.identificationAttributes = @[@"teamId"];
[teamMapping addAttributeMappingsFromDictionary:@{
@"id": @"teamId",
@"name": @"name"
}];
// Register our mappings with the provider
RKResponseDescriptor *teamResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:teamMapping
pathPattern:nil
keyPath:@"teams"
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[self.objectManager addResponseDescriptor:teamResponseDescriptor];
// user mapping
RKEntityMapping *userMapping = [RKEntityMapping mappingForEntityForName:@"User" inManagedObjectStore:[RKManagedObjectStore defaultStore]];
userMapping.identificationAttributes = @[@"userId"];
[userMapping addAttributeMappingsFromDictionary:@{
@"id": @"userId",
@"name": @"name"
}];
// Register our mappings with the provider
RKResponseDescriptor *userResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:userMapping
pathPattern:nil
keyPath:@"users"
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[self.objectManager addResponseDescriptor:userResponseDescriptor];
我一生都无法解决如何使RestKit填充用户对象的团队Property的问题。
我看过这么多帖子,但是我没有尝试,这不是通常的用例吗?
有谁知道该怎么做,帮助将不胜感激!
谢谢。
您需要向User
持有关联的实体添加一个临时属性teamId
。这需要添加到您的中userMapping
。
然后,您需要为您添加一个关系定义userMapping
:
[userMapping addConnectionForRelationship:@"team" connectedBy:@{ @"teamId": @"teamId" }];
这将为RestKit提供建立连接所需的信息,并指示其进行映射操作的一部分以进行连接。
我如何才能做到这一点,使我的A实体仅由B的外键持久化?也就是说,只有外键被插入到数据库中(因为B是一个主表,所以我不需要插入元素)。
我有表,和,一个用户有很多帖子,每个帖子有很多评论(在评论表中),还有一个用户有很多评论,但不完全需要匿名用户(在评论表中),下面的代码为每个帖子播种一些评论,但user_id从不由评论的所有者填写。我希望评论有相关的user_id注入数组外面
我做了一个图书馆管理系统。我正试图打印学生问题书,但SQL查询遇到了问题。下面是用户。用于打印发行书籍的php代码。我也上传了数据库,方便大家参考。请帮忙。 使用者php 以下是图书馆管理系统的数据库。 数据库是这样关联的:-usertable将id作为主键。Book将isbn作为主键,bookid作为外键。类型将bookid作为主键。存折的外键为isbn,主键为uid。我想显示存折,其中会显示存
我试图使用Hibernate注释定义遗留数据库中两个实体之间的映射。考虑中的实体不共享外键/复合键,此时,修改旧表是不可能的选择:( 实体类似于以下实体; 如果查看该表,它们不维护任何外键关系,也不共享相同的复合键,唯一的共同因素是zip\U code和school\U name列。我希望使用HIBERNATE注释定义与学校相对应的实体类,以便每次从DB检索学校的实体时,我还希望获得与该学校相关联
我们系统的所有用户都来自一个主“用户”类。同样,我们希望以相同的方式构造数据库,拥有一个主“用户”表,该表与特定用户类型的必要表连接,以提供额外的用户信息。 以这三个基本表格为例: 表用户 user_id|user_email|user_firstname|user_lastname|... 表雇员 user_id|employee_staff_number|... 表管理 user_id|adm