Apex SOQLで子オブジェクトのレコードを取得する
環境
Salesforce
操作例1
子オブジェクトのSOQL文では、FROM の後に子リレーション名を使います
書式
SELECT Name, (xxx) FROM Account
SELECT 句の中に、 ( ) で囲んだ子オブジェクトに関するSOQL文を含めます。
SOQL文
SELECT Name, ( SELECT LastName FROM Contacts ) FROM Account
操作例2
子オブジェクトがカスタムオブジェクトの場合、FROMの後は子リレーション名 + __r にする必要があります。
SOQL文
SELECT Name, ( SELECT Name FROM Children__r ) FROM Parent__c
操作例3
子レコードを参照する際にも子リレーション名を使います。
SOQL文
List<Parent__c> pList = [ SELECT Name, ( SELECT Name FROM Children__r ) FROM Parent__c ]; System.debug(pList[0].Children__r[0].Name);