在FOR循环中按ID检索对象

时间:2019-01-22 19:03:26

标签: triggers apex

我有一个Map,其中的键是ContactId,其值是Account ID(联系人的相关帐户)的集合,我需要一种方法来遍历Map,以便: 为每个键ID检索集合中每个帐户ID的对象-无需SOQL。

如果联系人字段中的一个已更改,我需要检查所有相关的联系人帐户。

List<AccountContactRelation> accContRelateList = [SELECT AccountId FROM AccountContactRelation WHERE ContactId IN :contactIdSet];

    Map<Id, Set<Id>> contIdToAccIdSetMap = new Map<Id, Set<Id>>();

    for (AccountContactRelation acr : accContRelateList) { 
        if (contIdToAccIdSetMap.containsKey(acr.ContactId)) {
            contIdToAccIdSetMap.get(acr.ContactId).add(acr.AccountId);
        } else {
            contIdToAccIdSetMap.put(acr.ContactId, new Set<Id>{acr.AccountId});
        } 
    }

0 个答案:

没有答案