【问题标题】:Parse One-To-Many Relationship Update解析一对多关系更新
【发布时间】:2014-12-19 14:28:34
【问题描述】:

我开始使用 Parse,我有一个关于 Parse 对象关系的简单问题。

我有两个班级:Flight 和 Pilot。

一个 Pilot 可以有多个航班,但一个 Flight 可能只有 Pilot。所以这是一对多的关系,像这样:

Pilot < ---- >> Flight

如果我将Pilot 添加到Flight 作为指针对象,我是否需要手动将相同的Flight 添加到Pilot 记录?

如果我在 Parse Data Browser 中设置此关系,是否需要在两端添加该关系?

目前,我在数据浏览器中为 Pilot 添加了一个名为航班的关系字段。我还在 Flight 类中添加了一个 Pointer 字段,称为 Pilot。如果在我的应用程序中,我在我的飞行对象上设置了飞行员指针并将其保存,在 Parse 数据浏览器中,如果我选择我的飞行员上的关系字段,它显示与我添加飞行员的航班没有关系。想法?它似乎只有一种方式起作用。

我是否只需将飞行员指针添加到我的航班中,关系就会自动建立?

【问题讨论】:

标签: ios objective-c parse-platform relationship


【解决方案1】:

要在 Parse 中进行一对多查询,您只需将属性添加到一侧。将flights 属性添加到Pilot 或将pilot 属性添加到Flight。我的建议是向Flight 添加一个pilot 属性,因为它只是一个对象而不是一组对象。

现在,您“可以”添加两个属性,但这通常不是必需的,Parse 会将它们视为单独的关系,这意味着您必须管理两个方向。

【讨论】:

  • 谢谢你,现在更有意义了。多对多关系的情况是否类似?
  • 多对多变得有点复杂。为此,您可能需要考虑连接表。即,一个保存两个对象之间关系的表。在您的示例中,您可能有一个名为“flightAssignment”的表,其中包含对“flight”和“crew member”的引用。这也使查询变得容易,因为您可以执行以下操作:查找所有 flightAssignments where flight=?,或查找所有 flightAssignments where crowdMember = ?
  • 不需要使用连接表。 PFRelation 也有效,解析团队建议使用它。当您有一些关于关系的特定信息时,连接表是必要的。例如创建关系的日期等。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多