Every example of SOQL queries being used (the official documentation, for example) shows a new map being populated with the results of an SOQL query like this –
Map<ID, Account> m = new Map<ID, Account>([SELECT Id, Name FROM Account LIMIT 10])
I’d like to populate a map that’s been created outside of one method in my class, so that I can retrieve values from it in another method.
But when I try
Map<Id,ProjectxOpp__c> pxOs = [SELECT Id,Opportunity__r.Account.Name FROM ProjectxOpp__c WHERE Opportunity__c IN :stage4EuOpps.keySet()];
I get an error
Illegal assignment from List to Map
I know that I could create a map in my method with the results of the query & then copy that map to the map outside my method but this seems like a waste of time.
Is it possible to populate an existing map from an SOQL query?
pxOs.putAll([SELECT Id,Opportunity__r.Account.Name FROM ProjectxOpp__c WHERE Opportunity__c IN :stage4EuOpps.keySet()]);