You need to sign in to do that
Don't have an account?

Hi Community had written one trigger which displays the child record count(student object) on parent obect (Teacher) below.Code has no errors but output is not coming while inserting or deleting or updating records on child object(student)
trigger studentcount1 on Student__c (after insert,after update,after delete,after undelete) {
set<ID> parentID=new set<ID>();
List<Teacher__c> ParentQueryList=new list<Teacher__c>();
List<Teacher__c> ParentToupdate=new list<Teacher__c>();
If(Trigger.isinsert|| Trigger.isupdate||Trigger.isundelete)
{
for(student__c acc:Trigger.new)
{
if(acc.subject__r.id!=null)
{
parentID.add(acc.subject__r.id);
}
}
}
If(Trigger.isdelete){
for(student__c acc:Trigger.old)
{
if(acc.subject__r.id!=null)
{
parentID.add(acc.subject__r.id);
}
}
}
if(parentID.size()>0)
ParentQueryList=[select id,name,childcount__c,(select id,name,subject__c from students__r) from Teacher__c where ID in :parentID];
system.debug('ParentQueryList--->'+ParentQueryList);
for(Teacher__c tc:ParentQueryList)
{
tc.childcount__c=tc.students__r.size();
ParentToupdate.add(tc);
}
if(ParentToupdate.size()>0)
{
update ParentToupdate;
}
}
set<ID> parentID=new set<ID>();
List<Teacher__c> ParentQueryList=new list<Teacher__c>();
List<Teacher__c> ParentToupdate=new list<Teacher__c>();
If(Trigger.isinsert|| Trigger.isupdate||Trigger.isundelete)
{
for(student__c acc:Trigger.new)
{
if(acc.subject__r.id!=null)
{
parentID.add(acc.subject__r.id);
}
}
}
If(Trigger.isdelete){
for(student__c acc:Trigger.old)
{
if(acc.subject__r.id!=null)
{
parentID.add(acc.subject__r.id);
}
}
}
if(parentID.size()>0)
ParentQueryList=[select id,name,childcount__c,(select id,name,subject__c from students__r) from Teacher__c where ID in :parentID];
system.debug('ParentQueryList--->'+ParentQueryList);
for(Teacher__c tc:ParentQueryList)
{
tc.childcount__c=tc.students__r.size();
ParentToupdate.add(tc);
}
if(ParentToupdate.size()>0)
{
update ParentToupdate;
}
}
Could you please let me know whether subject__r is the lookup relationship name with Teacher object from Student? If so please change your code:
to
Below is the full code:
Thanks
Preyanka