在尝试找出以下情况的某些逻辑时遇到一些麻烦。
我使用解析为我的移动应用构建了一个朋友系统。简单地说,当用户“跟随”某些东西时,他们会被置于一种关系中。该关系包含个人用户所拥有的所有人。
User
Relationship - Friends (contains all of the users that that overall user has followed)
我可以很容易地查询个人用户的关注点:
PFQuery *query = [PFUser query];
[query whereKey:@"username" equalTo:@"asg"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
for (PFObject *object in objects) {
PFRelation *friendsRelation = [object objectForKey:@"Friends"];
PFQuery *query = [friendsRelation query];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
NSLog(@"%@", objects);
} else {
}
}];
}
}];
但我如何查询谁跟踪某个用户?所以,是用户的追随者。
答案 0 :(得分:1)
如果您已经了解该用户,请使用whereKey:equalTo:
:
PFObject *user = ...;
PFQuery *query = [PFUser query];
[query whereKey:@"Friends" equalTo:user];
[query findObjectsInBackgroundWithBlock:^(NSArray *results, NSError *error) {
如果您需要进行查询以获取用户,请将请求与whereKey:matchesQuery:
合并:
[query whereKey:@"Friends" matchesQuery:userQuery];
答案 1 :(得分:0)
我实际上做了很多关于实施可能对您有用的朋友列表的博客文章:
代码示例使用JavaScript,但不应太难转换为iOS。
它涵盖了关系,查询,更新等。
对您的问题的简短回答使用加入表而不是关系,这样您就可以轻松地从关系的两端进行查询。
您可以在Parse网站上的关系指南中找到大量信息:
https://parse.com/docs/relations_guide#manytomany-jointables
答案 2 :(得分:0)
我认为你要的是PFUser * user = [PFUser currentUser]方法。如果您正在尝试为当前登录的用户检索朋友。您可以使用相同的方法来检索当前用户登录的用户。