1

我需要在触发器中使用与联系人和客户对象相关的查找字段。我在联系人上有查找字段 Account__c,但是当我写类似的内容时,我无法获取该联系人的相关帐户

Map <Id,Account> acts = new Map<Id,Account>([Select Id,Name from Account where Id:=contact.Account__c]);

它应该让所有相关帐户都参与其中,但它不起作用..

如何获取相关账户?

4

1 回答 1

0

除非这是一种特殊情况,您不需要在联系人和客户之间创建关系,否则已经有一个标准的关系。你可以这样查询

try {
    Account parent = [SELECT Id, Name FROM Account WHERE Id = :contact.AccountId];
} catch(QueryException e) {
    //list has no rows for assignment
    //means the account with Id could not be found
}

有关 api 名称的更多信息,您应该查看wsdl

顺便说一句,您不需要将此查询的结果传递给地图,只要您在 WHERE 子句中使用 Id = :idValue ,就可以保证您将获得正好 0 或 1 个结果,并且在0 结果将引发 QueryException。

于 2012-08-03T21:31:21.740 回答