我目前在目标c中有一个Parse查询,它使用一个类(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),它是两个类中的指针。
我想过滤上面查询中的数据,只显示用户拥有公共个人资料的数据。在用户类中,我有一个名为privacy的列,其中包含Public或Private值。
我尝试了很多方法,但没有一种方法有效。
请帮助我完成这项任务。
谢谢
答案 0 :(得分:0)
我认为您正在寻找matchesQuery选项。我没有做太多的事情,但看起来应该是这样的。
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"];