在Realm中查询关系数组

尔特尔森吉斯

可以说我有一个DogPerson领域对象,例如

@interface Dog : RLMObject

@property NSString *name;
@property NSInteger age;

@property RLMArray<Person> *owners;

@end

@implementation Dog

@end

RLM_ARRAY_TYPE(Dog)

@interface Person : RLMObject

@property NSString *name;
@property RLMArray<Dog> *dogs;

@end

@implementation Person

@end

RLM_ARRAY_TYPE(Person)

这是Realm示例项目中的示例代码。唯一的区别是,Dog实体具有的阵列Person对象作为owners,换言之的反比关系来Persondogs

现在,我要完成的事情是查询Dog具有aPerson作为之一对象owners

我怎样才能做到这一点?

托马斯·戈恩

您只需要做[Dog objectsWhere:@"ANY owners = %@", person]person要查询的所有者在哪里

一个完整的例子:

@protocol Person;

@interface Dog : RLMObject
@property NSString *name;
@property NSInteger age;

@property RLMArray<Person> *owners;
@end

@implementation Dog
@end

RLM_ARRAY_TYPE(Dog)

@interface Person : RLMObject
@property NSString *name;
@property RLMArray<Dog> *dogs;
@end

@implementation Person
@end

RLM_ARRAY_TYPE(Person)

void test() {
    RLMRealm *realm = RLMRealm.defaultRealm;

    [realm beginWriteTransaction];
    Person *person = [Person createInRealm:realm withObject:@{@"name": @"Tim"}];

    Dog *dog = [Dog createInRealm:realm withObject:@{@"name": @"Rover", @"age": @5, @"owners": @[person]}];
    [Dog createInRealm:realm withObject:@{@"name": @"Rex", @"age": @10, @"owners": @[]}];
    [realm commitWriteTransaction];

    RLMArray *dogs = [Dog objectsWhere:@"ANY owners = %@", person];
    assert(dogs.count == 1);
    assert([dog isEqual:dogs[0]]);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查询以获取Laravel中的关系数据

来自分类Dev

Swift中的Realm.io关系查询

来自分类Dev

如何在解析JavaScript中查询关系数据

来自分类Dev

在JavaScript中建立一对多关系数组

来自分类Dev

如何返回节点或关系数组中单个元素的属性?

来自分类Dev

Solr查询以匹配嵌套/关系数据

来自分类Dev

活动记录查询以获取关系数

来自分类Dev

关系数据库查询失败

来自分类Dev

获取口才模型的关系数组

来自分类Dev

获取口才模型的关系数组

来自分类Dev

逆转多对多关系数组

来自分类Dev

查找 BFS 父关系数组

来自分类Dev

如何在keystone.js(mongoose)中嵌套查询关系数据?

来自分类Dev

如何在spring数据neo4j 4中查询关系数据?

来自分类Dev

Asp.NET Core 中的关系数据库 SQL 查询

来自分类Dev

将关系数据作为状态存储在 Apache Flink 中并通过属性查询

来自分类Dev

在关系数据库中存储数组的最佳方法是什么?

来自分类Dev

在Redis中存储双向关系数据

来自分类Dev

在Redis中存储双向关系数据

来自分类Dev

Ruby中的关系数据库

来自分类Dev

在Hazelcast中更新关系数据

来自分类Dev

在Core Data中搜索关系数-Swift

来自分类Dev

从 eloquent 集合中获取关系数

来自分类Dev

SqlAlchemy查询和按关系数过滤

来自分类Dev

特定查询的关系数据库设计结构

来自分类Dev

无法使用PHP查询关系数据库

来自分类Dev

使用简单查询的C关系数据库

来自分类Dev

远程方法,查询和循环关系数据

来自分类Dev

mysql如何根据最新的关系数据进行查询