Карта объекта в SOQL-запросе - PullRequest
       49

Карта объекта в SOQL-запросе

0 голосов
/ 13 октября 2019

в следующей Salesforce статье говорится, что:

При работе с запросами SOQL карты могут заполняться результатами, возвращенными запросом SOQL. Ключ карты должен быть объявлен с типом данных ID или String, а значение карты должно быть объявлено как тип данных sObject.

Предположим, что для объекта Account у меня есть поле типа text, которое 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

1 Ответ

1 голос
/ 14 октября 2019

К сожалению, вы не можете указать, какое поле будет ключевым при построении карты из запроса 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);
}
...