我需要在触发器中使用与联系人和客户对象相关的查找字段。我在联系人上有查找字段 Account__c,但是当我写类似的内容时,我无法获取该联系人的相关帐户
Map <Id,Account> acts = new Map<Id,Account>([Select Id,Name from Account where Id:=contact.Account__c]);
它应该让所有相关帐户都参与其中,但它不起作用..
如何获取相关账户?
我需要在触发器中使用与联系人和客户对象相关的查找字段。我在联系人上有查找字段 Account__c,但是当我写类似的内容时,我无法获取该联系人的相关帐户
Map <Id,Account> acts = new Map<Id,Account>([Select Id,Name from Account where Id:=contact.Account__c]);
它应该让所有相关帐户都参与其中,但它不起作用..
如何获取相关账户?
除非这是一种特殊情况,您不需要在联系人和客户之间创建关系,否则已经有一个标准的关系。你可以这样查询
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。