【发布时间】:2013-09-01 11:39:43
【问题描述】:
我有一个返回Map<Id, List<Id>>的方法
方法如下:
private Map<Id, List<Id>> getDbrToAccountMap(Set<Id> dbrIds) {
Map<Id, List<Id>> dbrAccountMap = new Map<Id, List<Id>>();
List<Id> accountIds = new List<Id>();
for(DBR_Group_Member__c member : [select Id, Contact__c, Contact__r.AccountId, DBR__c from DBR_Group_Member__c where DBR__c in: dbrIds]) {
if(accountIds.isEmpty()) {
accountIds = new List<Id>();
dbrAccountMap.put(member.DBR__c, accountIds);
}
accountIds.add(member.Contact__r.AccountId);
}
return dbrAccountMap;
}
我只想将联系人的唯一 DBR_c 和唯一帐户添加到 accountIds 列表中_c
例如,如果我的 DBR 编号为:
3333 并且联系人是 Acme 帐户上的 John Smith(添加到列表中)
下一个
3333 并且联系人是 Acme 帐户上的 Jane Smith(不要添加到列表中)
下一个
3333,联系人是 Big Company 帐户上的 Bob Smith(添加到列表中)
下一个
3333,联系人是大公司帐户上的 Doug Smith(不要添加到列表中)
帐户的 DBR 应该是不同的。
在我的方法中,我返回了 accountId,但根据 DBR,它们并没有区别。我必须小心,因为如果 DBR 编号不同,我不想在列表中删除重复的 accountId。这将是列表中的有效元素。
任何帮助将不胜感激。
谢谢。
【问题讨论】:
标签: salesforce apex-code