课程章节介绍
好,今天我们来讲一下,在处理外部密钥和相关记录的时候,要用到几个很实用的方法。内容不多,但很容易弄混,我们慢慢梳理。
首先,如果你只是想设置或者读取一个外部密钥字段里存的“纯量ID值”,比如一个外键字段存的是另一个表的主键,用最普通的 `get()` 和 `put()` 方法就够了。就像从字段里直接拿一个文本或者数字一样简单。
但如果你想操作的是那个外键关联的,整条记录对象,,就不能用 `get()` 了。这时候要用 `getSObject()` 把那条关联的记录取出来,用 `putSObject()` 把一条记录对象放进去。注意了,这两个方法专门处理的是“关系字段”,返回的或者需要的参数都是 sObject 类型的数据。
还有一个容易忽略的地方,就是当你处理子对象的时候,你不需要特意为父对象指定外部 ID。就算你在父对象里面放了一个 ID 字段,TLR 操作也会自动忽略它,不会拿它当外部键来做关联。所以你的代码可以更简单,不用担心重复设置的问题。
最后,如果你想在动态查询中,一次性拿到父子关系里的子记录,可以用 `getSObjects()` 方法。它能帮你把关联的子记录列表直接取出来,就像拿到一个集合一样,遍历起来非常方便。
简单总结一下:普通外键值用 `get/put`,关联记录对象用 `getSObject/putSObject`,动态查询拿子记录用 `getSObjects`。记住这个区别,代码就不容易写乱了。
关键词
Apex
Salesforce
Developer Guide