Tuesday, 13 February 2018

Count of Child on Parent with Lookup Relation - Trigger

Here Child -> Buyers__c
              Parent -> oneplus__c

 

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
trigger ChildCountOnParent on Buyers__c (After Insert,after Delete, After Update, After Undelete) {

    Set<Id> Parent_Set = New Set<Id>();
   
    if(Trigger.isDelete || Trigger.isUpdate){
        for(Buyers__c b : trigger.old){
            Parent_Set.add(b.oneplus__c);
        }
    }

    if(Trigger.isInsert || Trigger.isUndelete || || Trigger.isUpdate){
        for(Buyers__c b : trigger.new){
            Parent_Set.add(b.oneplus__c);
        }
    }
   
    List<OnePlus__c> Parent_List = [Select id, Name,No_of_Buyers__c, (Select id, oneplus__c                                           from buyers__r) from OnePlus__c WHERE ID IN :Parent_Set];
   
    for(OnePlus__c one : Parent_List){
        one.No_of_Buyers__c = one.buyers__r.size();
    }
   
    Update Parent_List;
}

No comments:

Post a Comment