如何在IOS中使用parse进行PFRelation或关系数据库查询

时间:2014-08-18 09:36:13

标签: ios objective-c parse-platform

如何执行PFRelation查询,以便在我选择商店时,它仅显示与其关联的菜单项。

我的解析表看起来像这样

菜单表/类 enter image description here

零售商表/类

enter image description here

在我的IOS代码中,我有两个UITableViews 1)UITableView来显示" shop_name"来自零售商表,2)UITableVIew显示" Item_Name"从菜单表。

我已经完成了显示所有" Item_Name"不论他们与另一张桌子的关系/关系如何。代码看起来像这样。

- (void) retrieveFromParse{
    PFQuery *retrieveMenu = [PFQuery queryWithClassName:@"Menu"];
    //[retrieveMenu whereKey:@"RETAILER_ID" equalTo:_shopObjectId]; //TEST
    [retrieveMenu findObjectsInBackgroundWithBlock:^(NSArray *menuObjects, NSError *error) {
        if(!error){
            _menuObjects = [[NSMutableArray alloc]initWithArray:menuObjects];
            NSLog(@"%@", _menuObjects);
        }

        [_menuObjectsTableView reloadData];
    }];
}

我有一个逻辑,将通过" objectId"在UITableView1中当前selectedRow的。我本来希望使用这个" objectId"执行关系查询,以便只有" Item_Name"与商店相关的内容显示在UITableView2中,但我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,每个菜单对象可能在多个商店,对吗?如果是这样,这就是您想要构建查询的方式:

PFQuery *query = [PFQuery queryWithClassName:@"Menu"];
[query whereKey:@"Retailer_ID" equalTo:[PFObject objectWithoutDataWithClassName:@"RETAILER_LOCATION_CLASS" objectId:@"id that you passed from controller"]];

这将在菜单类中查询" Retailer_ID"中包含所选零售商的所有商品。字段。