Wednesday, January 18, 2023

Trigger for Count Number of Contacts Related To Account in Salesforce

Apex Trigger

trigger CountOfContactsRelatedToAccount on Contact (after insert, after delete, after Undelete) {
    Set<Id> accId = new Set<Id>();
    if(Trigger.isInsert || Trigger.isUndelete){
        for(Contact con : Trigger.new){
            accId.add(con.AccountId);
        }
    }
    if(Trigger.isDelete){
        for(Contact con : Trigger.old){
            accId.add(con.AccountId);
        }
    }
    List<Account> accList = [Select Id,Name,Count_of_Contacts__c ,
(Select id from contacts) from Account where Id IN : accId];
    for(Account acc :accList){
        acc.Count_of_Contacts__c = acc.contacts.size();
    }
    update accList;
}

No comments:

Post a Comment