Получение сведений обо всех зависимых контактах определенного контакта

Я использую запрос SOQL, подобный этому

SELECT Id,Name from Contact where FisrtName = 'ABC' and LastName ='DEF'

И это работает нормально. Теперь я хочу получить все зависимые контакты этого конкретного контакта, изменив этот же запрос SOQL. Как я могу это сделать. Пожалуйста, помогите мне выбраться из этого


person Seena V P    schedule 19.04.2018    source источник
comment
Что вы подразумеваете под зависимыми контактами? Вы имеете в виду все контакты, принадлежащие одной учетной записи?   -  person Gareth Jordan    schedule 20.04.2018
comment
@GarethJordan Нет. Для зависимого контакта значением поля ReportstoId будет идентификатор родительского контакта.   -  person Seena V P    schedule 23.04.2018


Ответы (1)


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

Schema.DescribeSObjectResult dsr = Contact.sObjectType.getDescribe();
List<Schema.ChildRelationship> crs = dsr.getChildRelationships();
for(Schema.ChildRelationship cr : crs){
    System.debug('Field = '+ cr.getField() + ' '+cr.getChildSObject() +' '+ cr.getRelationshipName());
}

Скорее всего, вам нужно будет просто запустить второй запрос следующим образом:

List<Contact> contacts = [SELECT Id,Name from Contact where FisrtName = 'ABC' and LastName ='DEF'];
List<Contact> relatedContacts = [SELECT Id,Name from Contact where ReportsToId IN :contacts];
person Gareth Jordan    schedule 23.04.2018
comment
Спасибо. Я уже получил ответ таким образом. Я просто хочу знать, могу ли я получить результат в одном SOQL. - person Seena V P; 24.04.2018
comment
Всякий раз, когда вам нужно проверить, просто опишите объект и проверьте отношения, я мог бы просто сказать «нет», но хотел показать, почему для дальнейшего использования. - person Gareth Jordan; 24.04.2018