RealmSubqueryHelper 0.0.1

RealmSubqueryHelper 0.0.1

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布上次发布2015年5月

Maintained by Adam Fish.



  • Adam Fish
支持 Realm 查询中的子查询

需要查询多个属性之间的 RLMObject 用于多对一关系吗?此类将 NSPredicate 中的隐藏宝石 SUBQUERY 带到 Realm。例如,给定以下 Realm 设置

Person : RLMObject
@property NSString *Id;
@property RLMArray<Dog> *dogs;

Dog : RLMObject
@property BOOL hasFleas;
@property NSString *color;

现在可以为所有至少有一只长跳蚤且为棕色的 Person 编写查询。这是通过结果 Realm 查询中的 SUBQUERY 来实现的

RLMResults *ownersOfBrownDogsWithFleas = [Person objectsWithSubqueryPredicate:@"SUBQUERY(dogs, $dog, $dog.hasFleas = YES AND $dog.color == 'brown').@count > 0"];

格式

格式与标准 NSPredicate SUBQUERY 表达式类似

SUBQUERY(RLMArray keypath, variable, predicate)

限制

  1. 基本对象必须有一个主键(在上面的例子中,Person 有主键 Id)。
  2. 仅支持 @count 集合操作符。
  3. 支持具有 SUBQUERY 的复合谓词,但不支持嵌套的 SUBQUERY