【问题标题】:Apex Trigger SalesforceApex 触发器 Salesforce
【发布时间】:2012-08-04 06:27:22
【问题描述】:

我需要在触发器中使用关联联系人和客户对象的查找字段。我在联系人上有查找字段 Account__c,但是当我写类似

的内容时,我无法获取该联系人的相关帐户

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

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

如何获取相关帐号?

【问题讨论】:

    标签: salesforce


    【解决方案1】:

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

    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-24
      • 1970-01-01
      相关资源
      最近更新 更多