gpt4 book ai didi

ios - 从 2 个集合中解析查询

转载 作者:行者123 更新时间:2023-11-30 11:12:17 26 4
gpt4 key购买 nike

我在 iOS Swift 应用程序中使用 Parse,但无法找到如何对两个集合进行查询,我猜类似于联接。

我有一个列表集合,它们包含家庭信息和用户 ID。我已向用户集合添加了一个键值,指示用户是否正在度假。我想要执行的查询是查找用户未休假的所有列表。

这是用于检索列表的解析代码,但我不知道如何从用户集合中添加第二个条件。

            let query = PFQuery(className: "Listing")
query.order(byDescending: "createdAt")
query.whereKey("categoryHome", equalTo: type.rawValue)
query.limit = limit
query.skip = skip
query.findObjectsInBackground { (objects, error) -> Void in
if let objects = objects as? [Listing]
{
success(objects)
}
else
{
let error = error! as NSError
let errorMessage = "\(error.localizedDescription)\n(\(error.code))"
SVProgressHUD.showError(withStatus: errorMessage)
}
}

我本来打算做这样的事情来查询用户,但我需要将其添加到上面的查询中。

    let userQuery = PFUser.query()
userQuery.whereKeyDoesNotExist("onVacation")

那么,如何将这些组合起来进行一个查询来查找用户不在度假的所有列表?

如果有人可以向我展示一个快速片段,或者向我指出一个对两个集合执行查询的示例,那就太好了。我已经阅读了有关关系、查询等的解析文档,但仍然无法理解如何将上面的两个查询放在一起。

感谢您的帮助。

最佳答案

从您的帖子中不清楚如何将用户与列表关联起来,但假设列表有一个指向用户的指针,那么您可以执行类似的操作

var userQuery = PFUser.query()
userQuery!.whereKeyDoesNotExist("onVacation")
var listQuery = PFQuery(className:"Listing")
listQuery.whereKey("categoryHome", equalTo: type.rawValue)
listQuery.whereKey("user", matchesQuery: userQuery!)
listQuery.findObjectsInBackgroundWithBlock {
(results: [PFObject]?, error: NSError?) -> Void in
if error == nil {
// results will contain lists where the user is not on vacation
}
}

如果您想了解有关 matchesQuery 的更多信息,请查看 Parse iOS guide

关于ios - 从 2 个集合中解析查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52055311/

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