0
我有兩個完成相同事情的Apex方法。我對框架很陌生,只是想確保我正確地解釋它。我是否正確解釋這個Apex代碼?
//Method 1:
for (Account a : trigger.new) {
for (Contact c : [SELECT Id, OtherPhone FROM Contact WHERE AccountId= :a.Id]) {
c.OtherPhone= a.Phone; update c; } }
//Method 2:
for (Account a :trigger.new){
acctMap.put(a.Id, a);
}
for (Contact c : [SELECT Id, OtherPhone, AccountId FROM Contact WHERE
AccountIdIN :acctMap.keySet()]){
c.OtherPhone = acctMap.get(c.AccountId).Phone;
contactsToUpdate.add(c);
}
update contactsToUpdate;
我的假設是,這兩種方法着眼於每個被觸發帳戶,該帳戶的電話號碼附加到每個帳戶下的每個Contact.OtherPhone變量。方法1通過對每個聯繫人進行單獨更新來執行此操作,並且方法2通過將所有受影響的聯繫人推入到哈希映射中來立即更新。
這是否基本正確?澄清我遇到的任何錯誤將不勝感激。謝謝!
這是驚人的幫助,正是我在找什麼。非常感謝你的澄清。 – viloca