How can I update a checkbox from false to true based on a condition using apex trigger?
I have three custom objects: ObjectA__c
, ObjectB__c
, and ObjectC__c
And here are some of fields:
ObjectA__c (Id, Name)
ObjectB__c (Id, Name, ObjectA__c, Checkbox__c)
ObjectC__c (Id, ObjectA__c)
The requirement is that if a specific ObjectA__c
has a related ObjectC__c
record, check the Checkbox__c
field from ObjectB__c
related to that ObjectA__c
record.
Apex Trigger:
trigger updateCheckbox on ObjectC__c(after insert) {
List<ObjectC__c> relatedObjC = [SELECT Id,Name,ObjectA__c FROM ObjectC__c
WHERE ObjectA__c IN :Trigger.New];
List<ObjectB__c> relatedobjB = [SELECT Id, Name, Checkbox__c FROM ObjectB__c WHERE ObjectA__c IN :Trigger.New];
List<ObjectB__c> objBToUpdate = new List<ObjectB__c>();
for(ObjectC__c oc : relatedObjC) {
for(ObjectB__c ob : relatedobjB) {
if (oc.ObjectA__c != null && ob.ObjectA__c != null) {
ob.Checkbox__c = true;
objBToUpdate.add(ob);
}
}
}
update objBToUpdate;
}