【问题标题】:Map of Sobject in SOQL querySOQL 查询中 Sobject 的映射
【发布时间】:2019-10-13 18:30:17
【问题描述】:

以下 Salesforce article 表示:

使用 SOQL 查询时,可以根据 SOQL 查询返回的结果填充映射。映射键应声明为 ID 或字符串数​​据类型,映射值应声明为 sObject 数据类型。

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

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

我的期望是在 uniquetext__cAccount sObject 之间有一个映射,而不是 IDAccount sObject

【问题讨论】:

    标签: salesforce apex soql


    【解决方案1】:

    不幸的是,在从 SOQL 查询 (AFAIK) 构造 Map 时,您无法设置哪个字段将成为键。但要手动完成,您所要做的就是......

    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);
    }
    

    【讨论】:

    • 谢谢!我知道 for 循环快捷方式,但我试图避免它......
    • 是的,我是这么认为的。能够在没有地图构建循环的情况下做到这一点会很棒,也许应该将其添加为改进建议
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    相关资源
    最近更新 更多