Objective c Parse.com将数据从一个对象存储到另一个对象中

Objective c Parse.com将数据从一个对象存储到另一个对象中,objective-c,parse-platform,pfobject,pfuser,Objective C,Parse Platform,Pfobject,Pfuser,我正在使用parse作为后端创建一个应用程序,我有三个类(User,Student,School)。我目前在用户类和学生类之间有一个指针,因此如果我输入一个新学生,我可以创建与用户的关系 我的问题是,我正在尝试对学校班级做同样的事情,这个班级是一个预填充班级,当我创建一个新学生时,我需要根据学生班级中的学校id引用该班级作为指针 我的班级的图片是 因此,从这些图像中,您可以看到user类中的object_id是students类中的parent_id。现在我需要将来自学校类的object\

我正在使用parse作为后端创建一个应用程序,我有三个
User
Student
School
)。我目前在用户类和学生类之间有一个指针,因此如果我输入一个新学生,我可以创建与用户的关系

我的问题是,我正在尝试对学校班级做同样的事情,这个班级是一个预填充班级,当我创建一个新学生时,我需要根据学生班级中的学校id引用该班级作为指针

我的班级的图片是

因此,从这些图像中,您可以看到user类中的object_id是students类中的parent_id。现在我需要将来自学校类的object\u id或school\u id作为学生类中的school\u id

预期成果:

用户“jamiemw”->学生“johnnie Williams”->学校“Southwind”

下面是我试过的

PFObject *kid = [PFObject objectWithClassName:@"Kids"];
kid[@"child_name"] = @"Johnnie Williams";
kid[@"age"] = @"14";
kid[@"date_of_birth"] = @"02/27/2001";
[kid setObject:[PFUser currentUser] forKey:@"parent_id"];

//this is what does not work.
[kid setValue:[PFQuery queryWithClassName:@"Schools"] forKey:@"student_id"];
[kid save];


PFQuery *query = [PFQuery queryWithClassName:@"Kids"];
[query whereKey:@"parent_id" equalTo:[PFUser currentUser]];

[query findObjectsInBackgroundWithBlock:^(NSArray *results, NSError *error)
{
    for(int i = 0; i <= results.count; i++){
                NSLog(@"%@", [results objectAtIndex:i]);
                }
}];
PFObject*kid=[pfobjectobjectwithclassname:@“Kids”];
孩子[@“child_name”]=@“Johnnie Williams”;
孩子[@“年龄”]=“14岁”;
孩子[@“出生日期”]=“2001年2月27日”;
[kid setObject:[PFUser currentUser]forKey:@“parent_id”];
//这是不起作用的。
[kid setValue:[PFQuery queryWithClassName:@“学校”]forKey:@“学生id”];
[儿童拯救];
PFQuery*query=[pfqueryquerywithclassname:@“Kids”];
[query whereKey:@“parent_id”等于:[PFUser currentUser]];
[查询findObjectsInBackgroundWithBlock:^(NSArray*结果,NSError*错误)
{

对于(inti=0;i,您的第一个问题是
[pfqueryquerywithclassname]
返回一个
PFQuery
,如中所示。存储此查询实例可能不会为您提供任何有用的信息,因此您需要首先执行实例化的查询并从中提取所需的数据,然后将其保存到
kid
PFObject中的键中

我注意到的第二个问题是,对于您发布的上述屏幕截图中的任何一个表,似乎都没有一个键
学生id
。我假设这是一个打字错误,您的意思是编写
[kid setValue:[PFQuery queryWithClassName:@“Schools”]forKey:@“school\u id”;

用以下代码替换上述代码行应达到预期结果:

[PFQuery queryWithClassName:@"Schools"];
[query whereKey:@"school_id" equalTo:@"southwindE123"];
// getFirstObject can be used here because school_id 
// is assumed to be a unique key
PFObject *school = [query getFirstObject];
[kid setValue:school forKey:@"school_id"];