ios - 理解和使用解析多对多关系

标签 ios parse-platform pfrelation

我在 Parse 中有 2 个表,如下所示:

Users:
(PFUsers table with all Parse data)
belongsToGroups (A Parse Relation to Groups which is many to many)

Groups:
groupId
name
groupMembers (A Parse Relation to Users which is also many to many)

我有以下代码:

PFObject *groups = [PFObject objectWithClassName:@"Groups"];
groups[@"name"] = name;
syncUsers[@"isActive"] = [NSNumber numberWithInt:1];
//[groups saveInBackground];

PFUser *current = [PFUser currentUser];
PFRelation *relation = [syncUsers relationforKey:@"groupMembers"];
[relation addObject:current];
[groups saveEventually];

PFRelation *relation2 = [current relationforKey:@"belongsToGroups"];
[relation2 addObject:groups];
[current saveEventually];

首先,前 2 个代码块工作正常,但我如何更新 Users 中的关系,以便我可以在 Parse 中执行 View Relation 并查看我的组?

第二,我是否需要在用户和组中创建关系,以便它可以是多对多的?

最佳答案

您可以在关系 上使用whereKey:equalTo: 并将PFObject 传递给它。这个查询然后将返回在他们的“学生”关系中有这个学生的所有教师对象:

PFQuery *query = [PFQuery queryWithClassName:@"Teacher"];
[query whereKey:@"students" equalTo:student];

在这个例子中,student 是一个 PFObject,它的 className 匹配“students”中的关系。如果这是 PFUsersrelation 并且您要查找当前用户的“Teacher”,您将使用:

PFQuery *query = [PFQuery queryWithClassName:@"Teacher"];
[query whereKey:@"students" equalTo:[PFUser currentUser]];

关于ios - 理解和使用解析多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23262920/

相关文章:

ios - 核心数据插入验证 (validateForInsert) 过早触发?

java - 使用 flutter 获取我的手机连接到的 wifi 路由器的 mac 地址

python - Django 重定向到自定义 URL

parse-platform - 解析 : How do I query using PFRelation when I just have PFUser?

ios - UIButton 上的 UILongPressGestureRecognizer 不起作用

amazon-web-services - Parse、Firebase 和 AWS Cognito 哪个更适合用户?

ios - 如何将数据从 UITableViewCell 传递到 ViewController?

objective-c - PFObject 如何允许像 NSMutableDictionary 这样的下标?

ios - PFRelation 对象或查询键?

ios - 为什么 PFRelation 不支持 fromLocalDataStore 查询?