【问题标题】:Inner Join Two SOQL Objects Without Relationship内连接两个没有关系的 SOQL 对象
【发布时间】:2019-06-11 19:12:35
【问题描述】:

我不熟悉 SOQL 或 Salesforce 配置,但有人要求我想出一个工具来轻松地将文件作为对象的附件导入。

我正在使用 Salesforce 中的开发者控制台来解决这个问题。我发现附件是一个名为“File_Manager_File__c”的自定义对象类型。该对象包含多个字段,例如“File_Name__c”、“Id”和最相关的“Parent_ID__c”。但是,“Parent_ID__c”是 Apex 类型:字符串,据我所知,这不是实际的子关系(正如我对 Salesforce 的有限理解)。另一个字段“Parent_Object_name__c”是 Apex 类型:字符串并返回我希望附加文件的其他对象(例如“工作”、“合同”、“机会”)

由于似乎没有实际的关系,是否还有一种方法可以在 SOQL 中加入此对象和可以附加文件的对象,例如“订单”(其中有“ID”作为字段)?

【问题讨论】:

    标签: salesforce soql


    【解决方案1】:

    听起来有人笨拙地重新实现了 Salesforce 中开箱即用的基于内容的附件功能。使用文本字段是因为 Salesforce 不允许自定义多态关系,例如原生 ContentDocumentLink 联结对象上的 LinkedEntityId

    如果没有在架构中定义的关系,就无法在 SOQL 中执行连接。这些记录大概可以使用 Data Loader 之类的工具通过直接使用 001000000000001Account 等值填充 Parent_ID__cParent_Object_name__c 来导入,但是如果不综合执行连接,您将无法查询这些记录Apex 或任何外部客户端编写的语言。

    【讨论】:

      【解决方案2】:

      您可以在数据库中导入这些数据,例如 Postgresql。仅在 postgresql 中创建表并导入数据。所以你可以进行任何查询。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-30
        • 1970-01-01
        • 1970-01-01
        • 2010-12-20
        • 2016-11-10
        • 1970-01-01
        • 2015-09-23
        • 1970-01-01
        相关资源
        最近更新 更多