如何在Parse中从关系中获取父对象

时间:2014-07-04 17:19:39

标签: ios parse-platform

假设我有一个类Parent,它与目标类Child具有一对多的关系。 Parent和Child对象都不是用户创建的,我在数据浏览器中创建这个对象,我不知道如何将Child上的关系或指针设置回它的特定Parent。我可以毫无问题地获得父对象的Child对象。但是,我怎样才能得到孩子的父母?我不想继续将父对象和子对象从VC传递给VC。这两个对象再次不是用户创建的,所以我不能这样做:

[Parent setObject:Child forKey:"child"];

然后像这样查询Parent类:

[query whereKey:@"child" isEqualTo:Child];

同时询问所有父母及其关系,然后让那个特定的孩子然后回到父母身边似乎是一种矫枉过正。

那么,如何在数据浏览器中将Child对象上的特定Parent设置为指向父对象?如果我只想使用Child对象,如何从代码中获取Parent对象?

1 个答案:

答案 0 :(得分:0)

这是使用反向指针可能更有用的情况。如果您愿意,可以在现有关系之外完成此操作,但需要更高级的保存逻辑。

只需将parent列添加到类型为Child的{​​{1}}。

要获得父母的所有孩子,您只需进行查询:

Pointer<Parent>

查询孩子并获得父母:

[childQuery whereKey:@"parent" isEqualTo:parent];

在看起来像孩子的区块中,你可以使用:

[childQuery includeKey:@"parent"];
// filter as needed

由于PFObject *parent = child[@"parent"]; ,它将是一个完全填充的Parent

注意:如果保持两种关系,创建新对象会变得更加棘手,因为您必须保存父/子(includeKey:未设置),然后更新子项以指向父项并再次保存。