【问题标题】:How does Parse.com create a bidirectional relationship in the iOS client?Parse.com 如何在 iOS 客户端中创建双向关系?
【发布时间】:2014-05-19 14:10:53
【问题描述】:

我正在学习本教程: https://parse.com/tutorials/one-to-many-relationships

我看到创建了一个帖子并附加了当前用户。但我没有看到相反的情况,我看不到 Post 是如何附加到用户的。 最后它说: “应用程序现在应该能够创建 Post 对象,设置 Posts 和 PFUsers 之间的一对多关系,以及使用查询来获取与给定用户关联的所有 Posts。” 这怎么可能?如果我使用该代码,如果我从未将帖子附加到用户,我如何检索属于用户的所有帖子? 提前致谢!

【问题讨论】:

    标签: ios parse-platform relationship


    【解决方案1】:

    Parse 不是纯粹的关系数据库,这不是自然的方式。

    通常是在子表中定义一个指针类型,指向父表。

        // Create a new Post object and create relationship with PFUser
    PFObject *newPost = [PFObject objectWithClassName:@"Post"];
    [newPost setObject:[textView text] forKey:@"textContent"];
    [newPost setObject:[PFUser currentUser] forKey:@"author"]; // One-to-Many relationship created here!
    
    // Set ACL permissions for added security
    PFACL *postACL = [PFACL ACLWithUser:[PFUser currentUser]];
    [postACL setPublicReadAccess:YES];
    [newPost setACL:postACL];
    
    // Save new Post object in Parse
    [newPost saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
        if (!error) {
            [self dismissViewControllerAnimated:YES completion:nil]; // Dismiss the viewController upon success
        }
    }];
    

    没有这种通过子选择或联接进行 SQL 访问的自然方式。

    但是如果你需要创建一个双向关系,你可以这样做。

    https://parse.com/questions/bidirectional-relationship-one-to-many

    【讨论】:

      【解决方案2】:

      您可以将用户设置为帖子的post_owner,并查询以当前用户为所有者的帖子

      【讨论】:

        猜你喜欢
        • 2016-02-08
        • 1970-01-01
        • 2014-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-03
        相关资源
        最近更新 更多