Примере:

  • Имя родительского объекта: Возможность
  • Имя дочерней связи: OpportunityLineItems
  • Имя дочернего объекта: OpportunityLineItem
-2
Sebastian Kessel 25 Дек 2019 в 22:03
3
Привет и добро пожаловать в SFSE. Я не уверен, что вы пытаетесь спросить. Можете ли вы уточнить? Кроме того, я рекомендую вам ознакомиться со статьей Как спрашивать. Он содержит отличные советы, чтобы облегчить понимание ваших вопросов.
 – 
Sebastian Kessel
25 Дек 2019 в 22:04
Спасибо, Себастьян, я получил ответ.
 – 
Virendra Khatke
11 Окт 2020 в 23:38

1 ответ

Лучший ответ

Вы можете использовать getRelationshipName для определения имени:

for(ChildRelationship rel: SobjectType.Opportunity.childRelationships) {
    System.debug(rel.getRelationshipName());
    System.debug(rel.getChildSObject());
    System.debug(rel.getField());
}

Обратите внимание, что не у всех отношений есть имя. Обратите также внимание, что вы не можете получить родительский объект sObject, предполагается, что вы уже знаете его, поскольку для начала вам нужно было описание.

Чтобы найти конкретное отношение, вам нужно перебрать все отношения:

ChildRelationship desiredRelation;
for(ChildRelationship rel: SobjectType.Opportunity.childRelationships) {
    if(rel.getRelationshipName() == 'OpportunityLineItems') {
        desiredRelation = rel;
        break;
    }
}
System.debug(desiredRelation.getChildSObject());
2
sfdcfox 25 Дек 2019 в 22:07