如何使用iOS访问parse.com上指针值的字段?

时间:2015-09-19 02:47:31

标签: ios objective-c parse-platform

我正在设计一个数据库。根据文档,当关系数大于100并且有额外的字段时,我必须设计一个Join Table。我设计了这个Join Table有两个指针值。

  1. 此指针值指向_User。后来我只需要currUser行。
  2. 此指针值是另一个表的objectId,它是一个实体。我的问题是,如何编写查询以在queryfortable
  3. 中返回此表的对象

    让我们说:

    Table _User
    Table Entity
    Table Join ---> objectId   Pointer1(_User)  Pointer2(Event)
    

    这看起来像这样:

    enter image description here

    这是我到目前为止所尝试的:

    首先,我尝试在viewDidLoad中从云中获取inviteUser数组,然后在queryForTable中获取:

        PFQuery *query = [PFQuery queryWithClassName:@"Event"];
        [query whereKey:@"objectId" containedIn:_inviteList];
    

    但我需要访问_inviteList.objectId这是不可能的!

    我尝试使用innerQuerry或关系查询。但是当我刚开始学习解析时,我无法实现这一点。

    PFUser *friendPointer = [PFUser currentUser];
    PFQuery *query2 =  [PFQuery queryWithClassName:@"Event"];
    [query2 whereKey:friendPointer containedIn:_inviteList];
    return query2;
    

    这对我也不起作用。

        PFQuery *innerQuery = [PFQuery queryWithClassName:@"Invite"];
        [innerQuery whereKey:@"invitedUser" equalTo:[PFUser currentUser]];
    
        query = [PFQuery queryWithClassName:@"Event"];
        [query whereKey:@"user" matchesQuery:innerQuery];
        return query;
    

    我感谢任何人都可以帮我写这个查询或重新设计我的表格,以便能够访问这个查询。

1 个答案:

答案 0 :(得分:3)

请试试此代码并给我评论

PFUser *user = [PFUser currentUser];
PFQuery *query = [PFQuery queryWithClassName:@"Invite"];
[query whereKey:@"invitedUser" equalTo:user];
[query includeKey:@"invitedUser"];
[query includeKey:@"eventId"];
[query orderByDescending:@"updatedAt"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error)
 {
     if (error == nil)
     {
         for (PFObject *underobject in [objects reverseObjectEnumerator])
         {
             PFUser *user1 = underobject[@"invitedUser"];
             NSLog(@"invitedUser is :%@",user1);
         }
     }
}];