对象关系概览
创建关系以便将对象彼此联系在一起,这样,当用户查看记录时,他们还可以查看相关数据。例如,将称为 Bugs 的自定义对象链接到个案,以便跟踪与客户个案相关的产品缺陷。
所需的 Edition
| 适用于:Salesforce Classic 和 Lightning Experience |
| 适用于:Contact Manager、Group、Professional、Enterprise、Performance、Unlimited、Developer 和 Database.com Edition |
通过在对象上创建自定义关系字段,可以定义不同类型的关系。在开始创建关系之前,请确定符合您需要的关系类型。
Salesforce 中对象之间的不同关系类型决定它们如何处理数据删除、共享和页面布局中的必填字段。让我们回顾一下关系的类型。
主-详细信息
将对象紧密链接在一起,以使主记录控制详细信息记录和次详细信息记录的某些行为。例如,您可以定义两个对象的主-详细信息关系,例如客户-费用报表,它将该关系扩展到子详细信息记录,例如客户-费用报表-费用行项目。然后,您可以在主 — 详细信息 — 次详细信息关系间执行操作。
主详细信息关系的行为:
- 删除详细信息记录时会将其移入回收站,而将主记录保留原样;删除主记录时还会删除相关的详细信息记录和次详细信息记录。取消删除详细信息记录时会恢复该记录,而取消删除主记录时也会取消删除相关的详细信息记录和次详细信息记录。但是,如果您删除一个详细信息记录,随后又单独删除其主记录,则不能取消删除该详细信息记录,因为它不再有关联的主记录。
- 默认情况下,记录不能代表在主-详细信息关系。不过,管理员允许将自定义对象主-详细信息关系中的子记录重新设置为不同的父记录,方法是在主-详细信息关系定义中选择允许重新设置父级选项。
- 详细记录和子详细记录上的“所有人”字段不可用,并自动设置为主记录的所有人。“主-详细信息”关系中的“详细信息”一侧的自定义对象无法拥有共享规则、手动共享或队列,因为这些需要使用所有人字段。
- 详细信息和子详细信息继承主记录的安全设置和权限。您无法单独设置详细信息记录的权限。
- “主-详细信息”关系字段(是将对象链接在一起的字段)在详细信息记录和次详细信息记录的页面布局上是必填的。
- 主对象可以是标准对象,如“客户”或“业务机会”,也可以是自定义对象。
- 作为最佳实践,不要超过“主-详细信息”关系的 10,000 个子记录。
- 每个自定义对象最多可以有两个“主-详细信息”关系和最多共计 40 个查找关系。
- “相关”条目在关系保存后无法更改。
- 简档或权限集可以有一个对象,例如客户,具有主-详细关系。如果子对象拥有父对象必须拥有的权限,则存在中断的权限依赖关系。对于在“设置”中所做的更新,Salesforce 会更新父对象,以了解对简档或权限集的第一个保存操作的破坏的权限依赖性。对于使用 API 进行的更新,您必须手动修复断开的权限依赖性。
如果子对象具有这些权限 这些权限在父对象上启用 修改所有记录或查看所有记录 查看所有记录 查看所有记录或读取 读取 - 当您从已发布版本创建草稿 Knowledge 文章版本时,草稿文章中的“累计汇总”字段会继承已发布文章的“累计汇总”字段值。根据设计,当您编辑文章时,将创建一个新的草稿版本,并且已发布版本中的自定义字段值将被带入新的草稿版本。但是,与 KnowledgeArticleVersion(已发布文章)关联的自定义对象记录不会被新的草稿版本继承或附加。
多对多
您可以使用主-详细信息关系建立任何两个对象之间的多对多关系。多对多关系使对象的每个记录都能被链接至来自其他对象的多个记录,反之亦然。例如,您创建与标准个案对象相关的称为 Bug 的自定义对象,那样缺陷能够与多个个案相关且个案也能够与多个缺陷相关。
查找
将两个对象链接在一起。查找关系类似于主-详细信息关系,除了它们不支持共享或累计汇总字段。通过查找关系,您可以:
- 链接两个不同的对象。
- 将对象与其自身链接(用户对象除外;请参见本主题中的层次结构部分)。例如,将称作 Bug 的自定义对象与其自身链接起来,以显示同一个问题如何关联两个不同的错误。
当您创建查找关系时,您可以设置这些选项:
当您定义“查找”关系时,可以将查找字段包含于该对象的页面布局中,还可以在相关自定义对象的页面布局上创建相关列表。例如,如果您有一个名为“PTO Requests”的自定义对象,而且您希望用户将 PTO 请求链接到提交该请求的员工,请从“PTO Request”自定义对象创建与用户对象的“查找”关系。
如果删除了查找关系中的父记录,子记录的字段历史跟踪将不记录此次删除。例如,如果删除了父客户,子客户的“客户历史”相关列表将不显示此次删除。
如果两个链接对象之间的组合记录数超过 100,000,您不能删除查找关系中的对象或记录。要删除查找关系中的对象或记录,首先删除适量的其子记录。
在您删除查找字段使用的对象时,也将删除字段。要删除对象和字段,请使用元数据 API,以及使用 purgeOnDelete 的删除声明。或者,使用 UI 中的设置,以优先删除字段。否则,对象无法删除。
间接查找
间接查找关系可将外部子对象链接至标准父对象或自定义对象。创建外部对象的间接查找关系字段时,您可指定父对象字段和子对象字段,以匹配并关联该关系中的记录。尤其是,您可以选择一个唯一的自定义父对象外部 ID 字段与子对象间接查找关系字段进行匹配,该字段的值来自外部数据源。
层次结构
一个特殊的查找关系,仅适用于用户对象。它允许用户使用查找字段将一个用户与另一个不直接或间接引用自身的用户相关联。例如,您可以创建自定义层次结构关系字段来存储每个用户的直接管理员。

