EsyouSystemのてくてくブログ

EsyouSystemの中の人がてくてくしたことを記すブログ

商談に紐付く取引先責任者を取得したい場合

List<Opportunity> oppList = [Select Id, Name From Opportunity];

 

for (Opportunity opp : oppList) {

     List<OpportunityContactRole> contactRoleList = [SELECT Id, ContactId, Role, IsPrimary, FROM OpportunityContactRole WHERE OpportunityId =:opp.Id];

    for (OpportunityContactRole role : contactRoleList ) {

        for (Contact con : [SELECT Id, Name, MailingPostalCode FROM Contact WHERE Id =: role.ContactId]) {

        }

    }

}

 

 

とまあこんな感じに書いてたらガバナ制限に引っかかりましたというご報告です。

こういう場合って、 id IN: list とかで書くのがいいんだろうけど、

どうにもfor が多くなってしまった非常に可読性が下がってしまうのどうにかならないかなぁ。

 

こういう風に書けばいいじゃんとか。

めっちゃご意見募集中だったり。