2012-08-03 84 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。

相關問題