0
我想用作我的應用程序的後端解析,並假設我有一個不同的餐廳,每個餐廳的菜單和每個菜單的不同產品的類,我有一個類Place,菜單,產品及的MenuItems:解析關係和搜索特定的pfQuery PFObject
MenuItem類有: 足尖菜單 指針產品
菜單類: 指針的地方
一旦選定餐廳要顯示所有產品爲餐廳: 我的代碼:
PFQuery *query = [PFQuery queryWithClassName:@"Places"];
[query whereKey:@"name" equalTo:PlaceSelect];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
PFObject *Menu;
if (!error)
{
for (PFObject *ob in objects)
{
Menu = ob;
}
}
PFQuery *query1 = [PFQuery queryWithClassName:@"Menus"];
[query1 whereKey:@"place" equalTo:Menu];
[query1 findObjectsInBackgroundWithBlock:^(NSArray *objects2, NSError *error2) {
PFObject *MenuItems;
if (!error2)
{
for (PFObject *ob2 in objects2)
{
MenuItems = ob2;
}
}
PFQuery *query2 = [PFQuery queryWithClassName:@"MenuItems"];
[query2 whereKey:@"menu" equalTo:MenuItems];
[query2 selectKeys:@[@"product"]];
[query2 findObjectsInBackgroundWithBlock:^(NSArray *objects3, NSError *error3) {
PFObject *Products;
if (!error3)
{
for (PFObject *ob3 in objects3)
{
Products = ob3;
NSLog(@" %@ ",Products);
}
我得到相關的產品,但是當我想按類型進行過濾:飲料,起動器,等...它給了我所有的地方他們所有的產品...
PFQuery *retrievedDrink = [PFQuery queryWithClassName:@"Products"];
[retrievedDrink whereKey:@"type" equalTo:@"drink"];
[retrievedDrink whereKey:@"objectId" equalTo:Products.objectId];
[retrievedDrink findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
DrinksArray = [[NSArray alloc] initWithArray:objects];
NSLog(@"numero de productos Drinks= %i ",[DrinksArray count]);
}];
在此先感謝,如果有誰知道的方式來更有效地請我想澄清我的疑慮