2012-08-03 82 views
1

我需要使用与触发器中的Contact和Account对象相关的查找字段。我查阅字段Account__c上的联系,但我不能获得相关账户的接触时,我喜欢写东西Apex触发器Salesforce

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

应该获得在行为的所有相关的帐户,但它不工作..

我如何获得相关帐户?

回答

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 
} 

有关,你应该看看wsdl

顺便说一句的API名称的更多信息,你不需要这个查询的结果传递给地图,任何时候,在WHERE子句中使用Id =:idValue时,都会保证您将得到完全0或1的结果,并且在0结果的原因中会抛出QueryException。

相关问题