What Data Type Should You Use When Going from Child to Parent?

DEX450 - Module 4: Programming with Apex

📄 第 125 页 🎬 视频课程

课程章节介绍

同学们,今天我们来讨论一个非常有趣的话题:在Salesforce中,当我们需要从“孩子”对象关联到“父母”对象时,应该使用什么数据类型。这个问题在实际开发中非常常见,所以大家一定要认真听哦! 首先,我们来看一下代码示例。在这个代码中,我们有一个名为`Certification_Attempt__c`的对象,它有一个字段叫做`certification_Element__c`,这个字段是用来存储“孩子”对象与“父母”对象之间的关联的。 ### 数据类型的选择 1. ,ID,:当我们想要存储“孩子”对象与“父母”对象之间的关联时,通常会使用`ID`数据类型。`ID`是Salesforce中用来唯一标识一个记录的字段类型。在这个例子中,`certification_Element__c`字段就是一个`ID`类型的字段,它存储了“孩子”对象与“父母”对象之间的关联。 2. ,联系(Contact),:如果“父母”对象是一个联系人(Contact),那么我们可以使用`Contact`数据类型来存储这个关联。在这个例子中,`certification_candidate__r`字段就是一个`Contact`类型的字段,它存储了与“孩子”对象关联的联系人记录。 3. ,账户(Account),:如果“父母”对象是一个账户(Account),那么我们可以使用`Account`数据类型来存储这个关联。在这个例子中,`certification_candidate__r.Account`字段就是一个`Account`类型的字段,它存储了与“孩子”对象关联的账户记录。 ### 代码解析 让我们来看一下代码的具体实现: ```java if (oldCertAttempts.size() > 0) { Certification_Attempt__c certificationAttempt = oldCertAttempts[0]; Id var1 = certificationAttempt.certification_Element__c; // 使用ID数据类型 Contact var2 = certificationAttempt.certification_candidate__r; // 使用Contact数据类型 Account var3 = certificationAttempt.certification_candidate__r.Account; // 使用Account数据类型 } ``` 在这个代码中: - `var1`是一个`ID`类型的变量,它存储了`certification_Element__c`字段的值。 - `var2`是一个`Contact`类型的变量,它存储了`certification_candidate__r`字段的值。 - `var3`是一个`Account`类型的变量,它存储了`certification_candidate__r.Account`字段的值。 ### 总结 所以,当我们需要从“孩子”对象关联到“父母”对象时,通常会使用`ID`、`Contact`或`Account`数据类型。具体使用哪种数据类型,取决于“父母”对象的类型。 好了,今天的课程就到这里。希望大家能够理解并掌握这些知识点。如果有任何问题,欢迎随时提问! --- ,板书内容:, - ,数据类型选择:, - `ID`:用于存储“孩子”与“父母”之间的关联。 - `Contact`:如果“父母”是联系人。 - `Account`:如果“父母”是账户。 - ,代码示例:, ```java if (oldCertAttempts.size() > 0) { Certification_Attempt__c certificationAttempt = oldCertAttempts[0]; Id var1 = certificationAttempt.certification_Element__c; Contact var2 = certificationAttempt.certification_candidate__r; Account var3 = certificationAttempt.certification_candidate__r.Account; } ```