OStack程序员社区-中国程序员成长平台

标题: ios - 如何在 ios 中使用 parse 执行 PFRelation 查询 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 12:10
标题: ios - 如何在 ios 中使用 parse 执行 PFRelation 查询

我在两个表之间创建了一个关系

LocationClass 表在此表中,我有一列包含位置图像与另一个表的关系,即 Assets

![这是location类图片,如果用户选择了locationName,需要获取locationImages(viewRelation)][1]

Assets 表,它包含每个关系的图像现在我的查询是如何从关系数据库中获取数据。这里如果用户选择一个位置意味着我需要为相关位置获取一组图像![这是我的 Assets 表,这里需要根据 locationClass 表中选择的位置检索图像][2]

到目前为止,我已经完成了这种格式

PFQuery *queryObj = [PFQuery queryWithClassName"LocationClass"];
sharedDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];

// Run the query
[queryObj whereKey"locationImages" equalTo:[PFObject objectWithoutDataWithClassName"Assets" objectId"aAPzhdO4w6"]];

[queryObj findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error)
    {
        [locationArray addObjectsFromArraybjects];
        sharedDelegate.locationsArray = locationArray;
        [locationDropDown reloadData];
    }
}];

在我的位置数组中包含单个对象

<__NSArrayM 0xaee4eb0>(
<LocationClass:ZtOP9voUaknull)> {
    LocationId = WilliamsBurgId;
    LocationName = WilliamsBurg;
    locationImages = "<FRelation: 0xaf53c30>(<00000000>.(null) -> Assets)";
}
)



Best Answer-推荐答案


从 PFRelation 对象传递数据的解决方案

    // should pass the main table name

    PFQuery *query = [PFQuery queryWithClassName"LocationClass"];
    // should pass object id for the selected row
    PFObject *getImageObject = [query getObjectWithId"need to pass object id from the maintable"];


    locationImagesArray = [[NSMutableArray alloc]init];

    // To acess the data from the relation object

    PFRelation *relationObj = [getImageObject relationForKey"locationImages"];
    PFQuery *query1 = [relationObj query];
    [query1 findObjectsInBackgroundWithBlock:^(NSArray *results, NSError *error) {

        [locationImagesArray addObjectsFromArray:results];
        for (int imgCount = 0; imgCount < [locationImagesArray count]; imgCount ++) {

            PFFile *getImage1 = [[locationImagesArray valueForKey"Image"] objectAtIndex:imgCount];
            [getImage1 getDataInBackgroundWithBlock:^(NSData *imageData, NSError *error)
             {

                 if (imageData!=nil) {
                     UIImage *image = [UIImage imageWithData:imageData];
                     activityImage.image = image;

                     NSLog(@"location image output");

                     NSLog(@"location image output : %@", activityImage.image);

                 }
             }];

        }

关于ios - 如何在 ios 中使用 parse 执行 PFRelation 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26480489/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4