目标C解析查询结果使用两个类Where等于



我目前在objective c中有一个Parse查询,它使用一个类(照片)来检索数据。

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),它是两个类中的指针。
我想过滤上述查询中的数据,以便仅显示用户具有Public配置文件的数据。
在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"];

最新更新