我正在尝试查询环回服务器以了解模型之间的关系,我有一个“Section”模型和一个“item”模型,以及它们之间的 hasMany 关系,因此我可以使用 /sections/:id 查询一个部分中的所有项目/来自休息客户端的项目。
如何从环回 iOS 客户端执行相同的查询?任何文档或代码示例?
我正在尝试查询环回服务器以了解模型之间的关系,我有一个“Section”模型和一个“item”模型,以及它们之间的 hasMany 关系,因此我可以使用 /sections/:id 查询一个部分中的所有项目/来自休息客户端的项目。
如何从环回 iOS 客户端执行相同的查询?任何文档或代码示例?
iOS SDK 支持对Model进行过滤,使用invokeStaticMethod
你的LBModelPrototype
并传递过滤器参数:@{ @"filter[order]":@"inventory ASC",@"filter[limit]":@3}
字符串。
[objectProto invokeStaticMethod:@"filter" parameters:@{ @"filter[order]":@"inventory ASC",@"filter[limit]":@3} success:staticMethodSuccessBlock failure:staticMethodErrorBlock];
我制作了一个快速的 iOS 示例,向您展示了一个针对自定义模型“产品”类型的简单过滤器,您可以在此处找到它
如果多个过滤器请求不是一个好的解决方案,您还可以创建自定义远程方法来为模型类型提供自定义方法。在 Node 中间层 LoopBack 数据 Juggler 数据源 Juggler 提供了管理多个数据关系的 ORM 特性
工程团队还对 LoopBack-ios GitHub 存储库提供了一些反馈:
SDK 尚不支持此功能。您应该能够通过子类化 LBModel 并添加类似于此的方法来完成此操作...
- (void)relatedItems:(LBModelAllSuccessBlock)success
failure:(SLFailureBlock)failure {
[self invokeMethod:@"items"
parameters:@{}
success:^(id value) {
NSAssert([[value class] isSubclassOfClass:[NSArray class]], @"Received non-Array: %@", value);
NSMutableArray *models = [NSMutableArray array];
[value enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[models addObject:[self modelWithDictionary:obj]];
}];
success(models);
}
failure:failure];
}