Opportunity をFromにしたSOQLでAccountを取得

Accountだけだとそんな項目ないよといわれる

  • これはAccountが見つからないといわれる

     List<Opportunity> opps = [SELECT Id, Account FROM Opportunity];
    
  • Account.Idまで指定するとOK

     List<Opportunity> opps = [SELECT Id, Account.Id FROM Opportunity];
    
  • ただし、Mapで取得すると、AccountIdとして取得される

    15:15:30.272 (272998000)|USER_DEBUG|[45]|DEBUG|parentOpp =Opportunity:{aissEmployee__c=a011000000DKWznAAH, AccountId=0011000000aNIPJAA4, aissOrder__c=a081000000XzLEpAAN, OwnerId=00510000001fqHxAAI, Id=0061000000T2yMKAAZ, KeymanRef__c=0031000000S6VxeAAF}
    

気がついたこと

  • OpportunityのAccountのリファレンスは、AccountId という名前でエイリアスが作られているっぽい
    • これってどっかに書いてあるの?

取引先を指定した商談のインサートの仕方

Opportunity opp1 = new Opportunity();
opp1.AccountId = parentOpp.Account.Id;
opp1 insert;

参考