如何使用SOQL从任务对象记录中获取电子邮件

And*_*man 6 salesforce soql

我试图使用SOQL从Task对象获取联系/领导电子邮件(我正在PHP中创建一个接口来备份具有特定主题的消息)。这是我现在的查询:

SELECT Subject,Who.FirstName,Who.LastName,Who.Email,Who.Phone,Description FROM Task
Run Code Online (Sandbox Code Playgroud)

这行得通/不会抛出错误并给我结果,但Who.Email始终为空(并且碰巧Who.Phone也是如此,但这并不是很重要)。如果仅尝试使用,Email则会收到该字段不存在的错误消息,这很奇怪,因为该字段Email在“任务字段”下为标准字段。

我也尝试了几种Google搜索,但没有找到任何帮助。

小智 1

上面 Zach 链接的 SOQL 多态性文章效果很好

SELECT Subject,
  TYPEOF Who
    WHEN Lead THEN Email
    WHEN Contact THEN Email
  END
FROM Event
Run Code Online (Sandbox Code Playgroud)