You need to sign in to do that
Don't have an account?
Script Statement tweaking
Hi,
I found this type of method in the Cook book area that helps remove script statements as I understand; however, I wanted to make sure that I understand the key in this type of code.
I wrote the looping version (not shown) and adding the MyCustomKey to the map as the key value but in the code below I thought if I put that field first in the SELECT statement it would pick that field but instead it looks like it automatically chooses the ID! Is that a correct statement and if so is ther a work around to force it to select the key I want or do I have to stay with the loop method to get the results I want.
...
...
String DynamicQuery = 'SELECT MyCustomKey__c, Name, Id FROM Opportunity ' + WhereClause;
Map<String, Opportunity> OppsMap = new Map<String, Opportunity>((List<Opportunity>)Database.query(DynamicQuery));
...
...
you can get the output of a query in a map but the key element is always the ID there is no work around throw which you can make any other field as key
to make any other field as key to the map you have to use loop
map<id,account> accMap = new map<id,account>([select name,id from account]);
above query will fatch all the account & no matter in which order you write the field sequence in query it will always make Id as a key element for map
Thanks
SRK
All Answers
you can get the output of a query in a map but the key element is always the ID there is no work around throw which you can make any other field as key
to make any other field as key to the map you have to use loop
map<id,account> accMap = new map<id,account>([select name,id from account]);
above query will fatch all the account & no matter in which order you write the field sequence in query it will always make Id as a key element for map
Thanks
SRK
That's what I thought but I need to double check with the experts! :) Thank you for your support.
Welcome :)