【问题标题】:Examples showing how to query for object relations from loopback SDK显示如何从环回 SDK 查询对象关系的示例
【发布时间】:2014-10-01 09:14:00
【问题描述】:

我正在尝试向环回服务器查询模型之间的关系, 我有一个“Section”模型和一个“item”模型,以及它们之间的 hasMany 关系,因此我可以使用来自 rest 客户端的 /sections/:id/items 查询一个部分中的所有项目。

如何从环回 iOS 客户端执行相同的查询?任何文档或代码示例?

【问题讨论】:

    标签: ios strongloop


    【解决方案1】:

    iOS SDK 支持过滤Model,在LBModelPrototype 上使用invokeStaticMethod 并传递过滤参数:@{ @"filter[order]":@"inventory ASC",@"filter[limit]":@3} 字符串。

    [objectProto invokeStaticMethod:@"filter" parameters:@{ @"filter[order]":@"inventory ASC",@"filter[limit]":@3} success:staticMethodSuccessBlock failure:staticMethodErrorBlock];
    

    我制作了一个快速的 iOS 示例,向您展示一个针对自定义模型“产品”类型的简单过滤器,您可以找到它here

    如果多个过滤器请求不是一个好的解决方案,您还可以创建自定义远程方法来为模型类型提供自定义方法。在 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];
    }
    

    【讨论】:

    • 感谢代码示例。我还有一个问题,有没有一个例子展示了如何在 iOS SDK 上使用用户处理和身份验证?
    • 代码示例对我不起作用。我在我的 LBModel 子类上调用 -invokeMethod:...,我从服务器得到的是:“找不到具有 id 原型的模型”
    • @Baldoph,是的,现在也是同样的问题。实例方法 - invokeMethod - 将路径创建为 className.prototype.methodName。因此错误...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    相关资源
    最近更新 更多