我需要使用与触发器中的Contact和Account对象相关的查找字段。我在联系人上有查询字段Account__c,但是当我写这样的内容时,我无法获得该联系人的相关帐户
Map <Id,Account> acts = new Map<Id,Account>([Select Id,Name from Account where Id:=contact.Account__c]);
它应该让所有相关的帐户进入行为,但它不起作用..
如何获得相关帐户?
答案 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。