gpt4 book ai didi

ios - 为什么我得到 "' 聚合操作只能用于 RLMArray 属性”?

转载 作者:可可西里 更新时间:2023-11-01 03:48:50 31 4
gpt4 key购买 nike

我在 Realm 上有以下查询数据库

realm.objects(Event)
.filter("ANY presentation.speakers.lastName CONTAINS [c]%@", searchTerm)

不幸的是它不工作,我收到以下错误

'Invalid predicate', reason: 'Aggregate operations can only be used on RLMArray properties'

presentation是在 Event 上定义的可选实体类

public dynamic var presentation : Presentation?

speakersList<PresentationSpeakers>在演示文稿中这样定义

public let speakers = List<PresentationSpeaker>()

我的感觉是ANY必须直接对集合进行操作,但是 speakers不是 Event 的直接属性(property).

我的查询有什么问题,我该如何正确实现?

最佳答案

由于 presentation 是一对一的关系,因此无需在查询中编写 ANY:

realm.objects(Event)
.filter("presentation.speakers.lastName CONTAINS [c]%@", searchTerm)

ANY 对于 speakers 属性是隐含的,因为它是一个嵌套的键路径。要指定 ANY 以外的内容,您可以像这样在 speakers 上使用修饰符:

realm.objects(Event)
.filter("presentation.speakers[FIRST].lastName CONTAINS [c]%@", searchTerm)

但是,Realm 还不支持这种查询。

有关谓词以及 Realm 支持哪些谓词的更多信息,请参阅 Realm 的谓词备忘单:https://realm.io/news/nspredicate-cheatsheet/

关于ios - 为什么我得到 "' 聚合操作只能用于 RLMArray 属性”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34125883/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com