0
ここではすべての連絡先にHD品質の注文が届くようにするクエリがあります。サブクエリフィールドの更新方法salesforce、soql、apex
`Orderc__c[] orders = [SELECT id,customer__c, Customer__r.Number_of_HD_Orders__c,` `Quality_Code__c FROM Orderc__c where Quality_Code__c='HD'];`
その後、私は、各連絡先のHDの注文数を更新するために、これらのコードを使用して変更します。
今for(Orderc__c o: orders){
if(o.Customer__r.Number_of_HD_Orders__c==null)
o.Customer__r.Number_of_HD_Orders__c=0.0;
o.Customer__r.Number_of_HD_Orders__c++;
}
、質問はどのように私は連絡先を更新することができます。 「更新オーダー」として連絡先を更新しません。
ありがとうございます。あなたのコードは、エラーを引き起こします:リスト内の重複ID。私はなぜそれがリスト(セットではない)に重複するIDを許さないのかわかりません。私はこれが複数のHDオーダーを持っている連絡先の原因だと思う。どうすればこの問題を解決できますか? –
連絡先をマップに追加する前に、リストの代わりにマップを使用して、既にそこに存在するかどうかを確認してください。そうであれば、それを増やし、そうでなければそれを追加します。次にマップの値を更新するだけです: 'update mymap.values();' –
nvm、私は連絡先をセットに追加してから、そのセットをリストに追加するだけです。リストを更新します。 DMLはリストが設定されていない場合にのみ機能します。 –