使用swift从解析中检索两个表中的数据

时间:2015-12-20 10:06:19

标签: ios swift parse-platform

我的解析数据库中有两个表。第一个表是users表,其中包含用户信息,如用户名,电子邮件,密码,个人资料图片等。 第二个表包含用户添加的帖子。我想获取帖子以及添加该帖子的用户的详细信息。任何人都可以建议我如何用迅捷的语言来做到这一点。

我尝试过以下代码:

let innerQuery = PFQuery(className: "Posts")
    innerQuery.whereKey("pickUpLocation", equalTo: firstSectionLbls[0] as! String)
    innerQuery.whereKey("destination", equalTo: firstSectionLbls[1] as! String)
    innerQuery.limit = 10
    innerQuery.skip = skip
    innerQuery.orderByAscending("DepartureDate")

    let query = PFUser.query()
    query!.whereKey("username", matchesQuery: innerQuery)

    query!.findObjectsInBackgroundWithBlock {
        (results: [PFObject]?, error: NSError?) -> Void in

我已经使用指针重试了。这些是我用来创建指针的步骤。 1.在users表中创建一个名为user的列,并将其类型设置为pointer。 2.创建另一个名称与" user"相同的列;在另一个名为" Posts"将其类型设置为指针。

然后我使用下面的代码来获取用户数据以及发布数据。

   let innerQuery = PFQuery(className: "Rides")
    innerQuery.whereKey("pickUpLocation", equalTo: firstSectionLbls[0] as! String)
    innerQuery.whereKey("destination", equalTo: firstSectionLbls[1] as! String)
    innerQuery.limit = 10
    innerQuery.skip = skip
    innerQuery.includeKey("user")
    innerQuery.orderByAscending("DepartureDate")

    innerQuery.findObjectsInBackgroundWithBlock {
        (results: [PFObject]?, error: NSError?) -> Void in

但是现在我再次没有收到用户数据,尽管我收到了帖子数据

1 个答案:

答案 0 :(得分:2)

要将帖子与用户关联,请在Post表中创建一个列,将其称为用户(或作者或其他)。使用指针列。然后,当您创建帖子时,将其与当前用户关联,例如:

newPost["user"] = PFUser.currentUser()

然后,当您保存它时,Parse将在用户列中存储指向当前用户的用户记录的指针。

现在,当您执行查询时,可以使用includeKey方式将用户对象与post对象一起获取。