Выбор настраиваемых полей объекта who с помощью SOQL не дает такой ошибки столбца

Я ищу отдельные настраиваемые поля объекта "who" с помощью SOQL в slaesforce:

Поскольку я тестирую SOQL, он работает нормально.

Select t.Who.FirstName, t.Status From Task t Where t.ActivityDate = TODAY AND t.Who.Type = 'Lead'

но при добавлении любого настраиваемого поля ведущего объекта (который возражает здесь) в операторе выбора, как указано в следующем запросе, он дает ошибку как

Нет такого столбца «LeadExtraInfo__c» в сущности «Имя».

даже поле LeadExtraInfo существует в объекте Lead

Select t.Who.FirstName, t.Who.LeadExtraInfo__c t.ActivityDate From Task t Where t.ActivityDate = YESTERDAY AND t.Who.Type = 'Lead'

person user2551549    schedule 16.09.2013    source источник
comment
возможный дубликат Как получить электронную почту из записи объекта задачи с помощью SOQL   -  person superfell    schedule 16.09.2013
comment
Ха, я не видел его комментария, когда отвечал, но он прав, это не только своего рода обман, но я даже ответил на другой вопрос почти идентично. По крайней мере, я последовательна!   -  person amrcn_werewolf    schedule 16.09.2013


Ответы (1)


Отношения Кто и Что в Задаче не являются нормальными отношениями - они полиморфны. Это означает, что они могут относиться к различным типам объектов.

В случае Who это может относиться к интересу или контакту. Таким образом, вы можете получить доступ только к ограниченному подмножеству полей во взаимосвязи, а именно к тем, которые упомянуты в эта страница документа.

Чтобы перейти к другим полям в Lead, вам нужно сначала запросить Task, чтобы получить его WhoId, а затем запросить Lead, где Id равен этому значению WhoId, чтобы получить эти другие поля.

person amrcn_werewolf    schedule 16.09.2013