【问题标题】:How to get query.whereKey(key, containedIn: [Array]) to work with relation.query如何让 query.whereKey(key, containsIn: [Array]) 与 relation.query 一起使用
【发布时间】:2015-11-26 00:04:25
【问题描述】:

我正在查询本地数据存储和服务器上的PFObjects。为了尝试节省移动数据使用量和网络使用量,首先在本地数据存储中查找数据,然后在服务器上查找未找到的数据。

找出尚未找到哪个PFObjects的代码是:

let response = objects as! [PFObject]
var responseObjectIds = [String]()
for x in response {
    responseObjectIds.append(x.objectId!)
}
query.whereKey("objectId", notContainedIn: responseObjectIds)

这似乎适用于普通查询,但在尝试对从 Relations 创建的查询执行相同操作时会崩溃。

我想我在某处读到 whereKey 方法的实现与 Relation 查询略有不同,但我认为它没有很好的文档记录。

我们将不胜感激任何改进代码或提出新解决方案的帮助。

【问题讨论】:

    标签: swift parse-platform pfquery pfobject pfrelation


    【解决方案1】:

    我相信,对关系列的查询将需要一个 PFObject 而不是一个字符串/(在这种情况下)一个字符串数组。

    您将需要以下内容:

    let relation = PFObject(withoutDataWithClassName: "yourClassName", objectId: response.objectId)
    query.whereKey("objectId", notContainedIn: relation)
    

    【讨论】:

    • 那么我将如何修改最后一行 query.whereKey("objectId", notContainedIn: responseObjectIds) 以便为 Relation 查询正确创建此约束?
    • 我知道它需要一个 PFObjects 数组来检查,但我应该传入什么作为键?
    • 请参阅上面可能有帮助的修订版
    猜你喜欢
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 2011-03-19
    • 2011-03-25
    • 2018-07-10
    • 2015-12-10
    • 2017-03-25
    • 1970-01-01
    相关资源
    最近更新 更多