Objective c Objective C使用两个类解析查询结果,其中等于

Objective c Objective C使用两个类解析查询结果,其中等于,objective-c,xcode,parse-platform,Objective C,Xcode,Parse Platform,我目前在objective c中有一个解析查询,它使用一个类(Photo)来检索数据 PFQuery *photosFromUsersQuery = [PFQuery queryWithClassName:@"photo"]; [photosFromUsersQuery whereKeyDoesNotExist:@"type"]; [photosFromUsersQuery whereKeyExists:kESPhotoPictureKey]; [photosFromUsersQuery whe

我目前在objective c中有一个解析查询,它使用一个类(Photo)来检索数据

PFQuery *photosFromUsersQuery = [PFQuery queryWithClassName:@"photo"];
[photosFromUsersQuery whereKeyDoesNotExist:@"type"];
[photosFromUsersQuery whereKeyExists:kESPhotoPictureKey];
[photosFromUsersQuery whereKey:@"createdAt" greaterThanOrEqualTo:sevenDaysAgo];

PFQuery *videosFromUserQuery = [PFQuery queryWithClassName:self.parseClassName];
[videosFromUserQuery whereKeyExists:@"type"];
[videosFromUserQuery whereKey:@"createdAt" greaterThanOrEqualTo:sevenDaysAgo];

PFQuery *query = [PFQuery orQueryWithSubqueries:[NSArray arrayWithObjects:photosFromUsersQuery, videosFromUserQuery, nil]];

[query includeKey:kESPhotoUserKey];
[query orderByDescending:@"createdAt"];
现在我需要使用第二个类(user),它是两个类中的指针。
我想从上面的查询中筛选数据,以便只显示用户具有公共配置文件的数据。
在user类中,我有一个名为privacy的列,其中包含Public或Private的值。

我尝试过很多方法,但都没有成功。
请帮我完成这项任务


谢谢

我想您正在寻找matchesQuery选项。我没有做太多的objc,但它应该看起来像这样

PFQuery *photosFromUsersQuery = [PFQuery queryWithClassName:@"photo"];
[photosFromUsersQuery whereKeyDoesNotExist:@"type"];
[photosFromUsersQuery whereKeyExists:kESPhotoPictureKey];
[photosFromUsersQuery whereKey:@"createdAt" greaterThanOrEqualTo:sevenDaysAgo];

PFQuery *videosFromUserQuery = [PFQuery queryWithClassName:self.parseClassName];
[videosFromUserQuery whereKeyExists:@"type"];
[videosFromUserQuery whereKey:@"createdAt" greaterThanOrEqualTo:sevenDaysAgo];

PFQuery *query = [PFQuery orQueryWithSubqueries:[NSArray arrayWithObjects:photosFromUsersQuery, videosFromUserQuery, nil]];

PFQuery *userQuery = [PFQuery queryWithClassName:@"User"]
[userQuery whereKey:@"privacy" equalTo:@"Public"]
[query whereKey:@kESPhotoUserKey matchesQuery: userQuery]
[query orderByDescending:@"createdAt"];

我想您正在寻找matchesQuery选项。我没有做太多的objc,但它应该看起来像这样

PFQuery *photosFromUsersQuery = [PFQuery queryWithClassName:@"photo"];
[photosFromUsersQuery whereKeyDoesNotExist:@"type"];
[photosFromUsersQuery whereKeyExists:kESPhotoPictureKey];
[photosFromUsersQuery whereKey:@"createdAt" greaterThanOrEqualTo:sevenDaysAgo];

PFQuery *videosFromUserQuery = [PFQuery queryWithClassName:self.parseClassName];
[videosFromUserQuery whereKeyExists:@"type"];
[videosFromUserQuery whereKey:@"createdAt" greaterThanOrEqualTo:sevenDaysAgo];

PFQuery *query = [PFQuery orQueryWithSubqueries:[NSArray arrayWithObjects:photosFromUsersQuery, videosFromUserQuery, nil]];

PFQuery *userQuery = [PFQuery queryWithClassName:@"User"]
[userQuery whereKey:@"privacy" equalTo:@"Public"]
[query whereKey:@kESPhotoUserKey matchesQuery: userQuery]
[query orderByDescending:@"createdAt"];

这返回了零个结果。这返回了零个结果。