Ios 解析-多对一查询
我有一个查询,可以按用户获取最新帖子。每个帖子都有一个“所有者”字段,其中包含创建它的帐户的“ObjectId”。我这样做是因为我还想显示创建帖子的人的用户名,该用户名可以在用户表中找到 我查看了查询的解析文档,并得出了以下结论(以其中一个示例为模型): 然后运行Ios 解析-多对一查询,ios,swift,xcode,parse-platform,nosql,Ios,Swift,Xcode,Parse Platform,Nosql,我有一个查询,可以按用户获取最新帖子。每个帖子都有一个“所有者”字段,其中包含创建它的帐户的“ObjectId”。我这样做是因为我还想显示创建帖子的人的用户名,该用户名可以在用户表中找到 我查看了查询的解析文档,并得出了以下结论(以其中一个示例为模型): 然后运行findobjectsinbackgroundithblock。我不认为我是从用户表中获取信息来获取发布帖子的人的姓名 我查看了包含帖子信息的对象,但在该对象中没有看到用户的信息。我做错了什么 以下是我的两个表格标题的屏幕截图: 职位:
findobjectsinbackgroundithblock
。我不认为我是从用户表中获取信息来获取发布帖子的人的姓名
我查看了包含帖子信息的对象,但在该对象中没有看到用户的信息。我做错了什么
以下是我的两个表格标题的屏幕截图:
职位:
用户:
谢谢 我认为问题在于您将查询中的用户表称为“PFQuery(className:“user”)”。但是如果使用内置的用户表,它的名称实际上是“\u user”。因此,请使用,或者更简单地使用:
var innerQuery = PFUser.query()
试试这个
var class = PFQuery(className:"Post")
var finduser:PFQuery = PFUser.query()
finduser.whereKey("objectId", equalTo: class.objectForKey("owner").objectId)
finduser.findObjectsInBackgroundWithBlock{
(objects:[AnyObject]!, error:NSError!)->Void in
if (error == nil){
if let userObjects = objects {
let UserResult = (userObjects as NSArray).lastObject as? PFUser
if let user = UserResult {
println(user.username)
}
}
}
}
六羟甲基三聚氰胺六甲醚。。。我猜你不是想把第一个变量命名为“class”吧?不管怎样,我试过了,但似乎不起作用。我要再试一次。也许我错过了什么?这是你在@user528432工作时得到的东西吗?我刚刚给它命名为class或者你想要的任何东西。这对我有效,您得到了什么错误?您在哪里找到了finduser.whereKey(“objectId”,equalTo:class.objectForKey(“owner”).objectId),我得到了以下错误:-->PFQuery没有名为“objectForKey”的成员。
var class = PFQuery(className:"Post")
var finduser:PFQuery = PFUser.query()
finduser.whereKey("objectId", equalTo: class.objectForKey("owner").objectId)
finduser.findObjectsInBackgroundWithBlock{
(objects:[AnyObject]!, error:NSError!)->Void in
if (error == nil){
if let userObjects = objects {
let UserResult = (userObjects as NSArray).lastObject as? PFUser
if let user = UserResult {
println(user.username)
}
}
}
}