// parent to Child SOQL
Account CW =[SELECT Id, Name,
(SELECT Id, Name, Phone,Email FROM Contacts),
(SELECT Id, Name, Amount, CloseDate, StageName FROM Opportunities)
FROM Account
WHERE Name='Apex CW'];
System.debug('Account Details : ');
System.debug(CW.id);
System.debug(CW.Name);
System.debug('Related SObjects --- Contacts ');
System.debug(CW.Contacts); // List<Contact> // Contact[]
for(Contact loopContact:CW.Contacts){
System.debug(loopContact.Name); // loopContact.id, loopContact.Phone, loopContact.Email
}
System.debug('Related SObjects --- Opportunities ');
System.debug(CW.Opportunities); // List<Opportunity> // Opportunity[]
for(Opportunity loopOpp:CW.Opportunities){
System.debug(loopOpp.Name);
System.debug(loopOpp.CloseDate);
}
// Generic SOBJECT
Sobject CWSobj = [SELECT Id, Name,
(SELECT Id, Name, Phone,Email FROM Contacts),
(SELECT Id, Name, Amount, CloseDate, StageName FROM Opportunities)
FROM Account
WHERE Name='Apex CW'];
System.debug('Account Details : ');
System.debug(CWSobj.get('Id'));
System.debug(CWSobj.get('Name'));
System.debug('Related SObjects --- Contacts ');
// System.debug(CWSobj.getSobjects('Contacts')); // List<Contact> // Contact[]
for(Contact cont:CWSobj.getSobject**s**('Contacts')){
System.debug(cont.Name);
}
/*
for(Sobject cont:CWSobj.getSobjects('Contacts')){
System.debug(cont.get('Name'));
}*/
System.debug('Related SObjects --- Opportunities ');
for(Opportunity op:CWSobj.getSobjects('Opportunities')){
System.debug(op.Name);
System.debug(op.CloseDate);
System.debug(op.StageName);
}