My trigger looks like this:
trigger attachmentTrigger on Attachment (after insert) {
List<Customer_Attachments__c> ca = [SELECT Id, Attachment_IDs__c FROM Customer_Attachments__c WHERE Id=:trigger.new[0].parentId];
if(ca.size() > 0){
ca[0].Attachment_IDs__c = trigger.new[0].Id;
update ca;
}
}
It would be an added bonus if there was a way to add commas between the IDs, since right now it's just one long string.
Thanks!Hi Victoria,Try the below Trigger:
Thanks,trigger attachmentTrigger on Attachment (after insert) {
set<Id> parentIdSet = new set<Id>();
List<Customer_Attachments__c> updateParList = new List<Customer_Attachments__c>();
Map<Id,List<Id>> idMap = new Map<Id,List<Id>>();
for(Attachment a : trigger.New){
parentIdSet.add(a.parentId);
}
if(!parentIdSet.isEmpty()){
for(Attachment att : [select Id,ParentId from attachment where ParentId IN: parentIdSet]){
if(!idMap.containsKey(att.ParentId)){
idMap.put(att.ParentId, new List<Id>{att.id});
}
else{
idMap.get(att.ParentId).add(att.Id);
}
}
for(Id ids : idMap.keySet()){
List<Id> idList = idMap.get(ids);
Customer_Attachments__c acc = new Customer_Attachments__c( Id = ids, Attachment_IDs__c = string.join(idList, ','));
updateParList.add(acc);
}
if(!updateParList.isEmpty()){
update updateParList;
}
}
}
Maharajan.C