如何使用 Apex 中的查找字段检索相关对象?
How do I retrieve a related object using a Lookup field in Apex?
我有一个插入机会的触发器:
trigger OpportunityInsertTrigger on Opportunity (before insert) {
System.debug('Triggered on insert of opportunity. Updating blockchain...');
for (Opportunity opp : Trigger.new) {
List<DNBCompany__c> retrievedCompany = [SELECT Id, Name, Duns__c FROM DNBCompany__c WHERE Id = :opp.DNBCompany__c];
DNBCompany__c company = retrievedCompany.get(0);
String duns = (String) company.get('Duns__c');
}
}
我有一个名为 DNBCompany 的自定义对象,它通过机会中的查找关系 (DNBCompany__c) 进行链接。
如何检索与 opp 关联的 DNBCompany?
[编辑以反映下面的答案]
你可以这样做:
for (Opportunity opp : Trigger.new)
{
DNBCompany__c retrievedCompany = [SELECT Id, Name FROM DNBCompany__c WHERE Id = :opp.DNBCompany__c];
}
由于查找字段将是您要检索的公司的 Id
,您可以使用内联 SOQL 查询来取回关联对象。
请记住,您必须在 SOQL 查询中引用您希望处理的任何其他字段。
我有一个插入机会的触发器:
trigger OpportunityInsertTrigger on Opportunity (before insert) {
System.debug('Triggered on insert of opportunity. Updating blockchain...');
for (Opportunity opp : Trigger.new) {
List<DNBCompany__c> retrievedCompany = [SELECT Id, Name, Duns__c FROM DNBCompany__c WHERE Id = :opp.DNBCompany__c];
DNBCompany__c company = retrievedCompany.get(0);
String duns = (String) company.get('Duns__c');
}
}
我有一个名为 DNBCompany 的自定义对象,它通过机会中的查找关系 (DNBCompany__c) 进行链接。
如何检索与 opp 关联的 DNBCompany?
[编辑以反映下面的答案]
你可以这样做:
for (Opportunity opp : Trigger.new)
{
DNBCompany__c retrievedCompany = [SELECT Id, Name FROM DNBCompany__c WHERE Id = :opp.DNBCompany__c];
}
由于查找字段将是您要检索的公司的 Id
,您可以使用内联 SOQL 查询来取回关联对象。
请记住,您必须在 SOQL 查询中引用您希望处理的任何其他字段。