SOQL查询中的Sobject映射

时间:2019-10-13 18:30:17

标签: salesforce apex soql

以下Salesforce article表示:

使用SOQL查询时,可以从SOQL查询返回的结果中填充地图。映射键应声明为ID或String数据类型,映射值应声明为sObject数据类型。

假设在Account对象上,我有一个文本类型为 unique 的字段,称为 uniquetext__c ,如何实现:

Map<string, Account> map_acc = new Map<string, Account>([select uniquetext__c, name, customField1, customField 2 from Account limit 10]);

我希望在 uniquetext__c Account sObject 之间建立一个映射,而不是在 ID Account sObject < / strong>

1 个答案:

答案 0 :(得分:1)

不幸的是,在通过SOQL查询(AFAIK)构建地图时,您无法设置将哪个字段作为关键字。但是要手动完成此操作,您只需...

Map<String, Account> map_acc = new Map<String, Account>();
for(Account a : [SELECT uniquetext__c, name, customField1, customField 2 from Account limit 10]){
    map_acc.put(a.uniqueText__c, a);
}