是否可以在Salesforce中的同一对象上创建多对多关系

时间:2012-07-05 17:56:17

标签: salesforce data-modeling

我们的客户之间有相互关系:供应商 - 买家 含义:我们向我们所在行业的供应商和买家出售。

我正试图在salesforce中存储我们客户(他们之间)的关系。它是一种多对多的关系。因此,对于每个账户,我希望有一个相关的列表,列出它所销售的所有买家,以及它从中购买的卖家(反之亦然,在其他账户上)

我尝试使用Junction Object - 但是我无法在同一个对象(主要是Account)上创建2个Master-Detail关系。

有可能吗?

1 个答案:

答案 0 :(得分:4)

结点对象将是这样的 - 为什么你需要使用主细节关系?在这种情况下,查找字段应该足够了。

有时在这些情况下,您希望能够查看相关对象的完整列表,而无需在页面上显示两个可能的相关列表(您查看的对象由查找A引用,以及B)引用它的位置 - 在这种情况下,您可以使用触发器在创建任何一个时创建相反的连接记录。

基本设置

架构如下所示:

    Account >-- lookup A -- Junction Object -- Lookup B --< Account

您可以插入两个联结记录,如下所示:

           Lookup A      Lookup B
    ------------------------------
    J1  |  Account 1  |  Account 3
    J2  |  Account 2  |  Account 1

使用此设置,您需要在“帐户”页面上显示两个相关列表,以便在查看记录A时查看B和C.

触发设置

如果您创建一个触发器来生成如上所述的自动倒数,那么您将在联结对象中拥有这些记录:

           Lookup A      Lookup B
    ------------------------------
    J1  |  Account 1  |  Account 3
    J2  |  Account 3  |  Account 1
    J3  |  Account 2  |  Account 1
    J4  |  Account 1  |  Account 2

显然这会创建冗余数据,但现在您只需要将一个相关的联结对象列表添加到帐户页面布局中,以查看所有相关记录。