Apex Trigger Salesforce

时间:2012-08-03 16:21:19

标签: salesforce

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

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

它应该让所有相关的帐户进入行为,但它不起作用..

如何获得相关帐户?

1 个答案:

答案 0 :(得分: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。