SOQL (Salesforce Object Query Language)에서 Parent/Child 관계를 사용하면 한번의 Query로도 다양한 데이터를 읽어 올 수 있습니다. 또한 이를 활용하면 중단 개체(테이블)를 사용하여 m-n의 관계를 형성할 수도 있습니다.
Parent 개체와 Child 개체 정의
Parent__c 개체
ParentField01__c 필드 : String
ParentField02__c 필드 : String
Child__c 개체
ChildParent__c 필드
- Parent__c와 "검색 관계" 또는 "마스터-세부 사항 관계" 형성
- "하위 관계 이름"은 fnChildParent로 등록 합니다.
ChildField01__c 필드 : String
ChildField02__c 필드 : String
Parent/Child 관계를 사용한 Query문
List<Child__c> dataChild =
[SELECT ChildField01__c, ChildField__c,
ChildParent__r.ParentField01__c, ChildParent__r.ParentField02__c
FROM Child__c];
String child01 = (String) dataChild.ChildField01__c;
String child02 = (String) dataChild.ChildField02__c;
String parent01 = (String) dataChild.ChildParent__r.ParentField01__c;
String parent02 = (String) dataChild.ChildParent__r.ParentField02__c;
List<Parent__c> dataParent =
[SELECT ParentField__c, ParentField__c,
(SELECT ChildField01__c, ChildField02__c
FROM fnChildParent)
FROM Parent__c]
String parent01 = (String) dataParent.ParentField01__c;
String parent02 = (String) dataParent.ParentField02__c;
Child__c[] child = dataParent.fnChildParent;
Posted by 산사랑