【Salesforce】Apex クラスで SOQL クエリを作成する

スポンサーリンク

スポンサーリンク

Trailhead

Create a for loop to iterate through a SOQL query

Write a query to get the name and annual revenue of all accounts. Then use a for loop to iterate through each account, printing the name and annual revenue of each account to the debug log.

  • Create a class
    • Name: AccountUtility
  • Create a method
    • Name: viewAnnualRevenue
    • Keywords: public, static, and void
  • Create a list
    • Name: accountsList
  • Create a query and assign the results to a list
    • Fields: Account Name and Annual Revenue (Hint: Use API names, not field names or labels)
    • Object: Account
  • Create a for loop that iterates through the query results
    • Object: Account
    • List name: accountsList
    • For each item, concatenate the account name, followed by a colon, followed by the account’s annual revenue: <Account Name> : <Annual Revenue>
    • Store the concatenated string in a variable named acctRev
    • Print the acctRev variable to the debug log
https://trailhead.salesforce.com/ja/content/learn/modules/soql-for-admins/create-soql-queries-in-apex-classes?trail_id=build-apex-coding-skills

この課題でやらないといけないこととしては、以下の通り。
①ApexでAccountUtilityクラスを作成し、その中にviewAnnualRevenueメソッドを追加する
②作成したメソッドで、すべてのAccountレコードから名前と年間売上を取得し、それぞれの値をデバッグログに出力する

この課題をクリアできるソースコードは以下の通り。

public class AccountUtility {
  
    public static void viewAnnualRevenue() {
        // SOQLクエリで取引先の名前と年間売上を取得してリストに格納
        List<Account> accountsList = [SELECT Name, AnnualRevenue FROM Account];
        
        // forループで各取引先を処理
        for (Account acc : accountsList) {
            // 取引先の名前と年間売上を連結
            String acctRev = acc.Name + ' : ' + acc.AnnualRevenue;
            
            // デバッグログに出力
            System.debug(acctRev);
        }
    }
}

このAccountUtilityクラス内のviewAnnualRevenueメソッドはpublic, static, voidとして定義されています。SOQLクエリはSELECT Name, AnnualRevenue FROM Accountとなっており、この結果をaccountsListという名前のリストに格納します。

メソッド内のforループでは、このリストを一つずつ処理して、取引先の名前と年間売上を連結した文字列(acctRev)をデバッグログに出力しています。

コメント

スポンサーリンク






スポンサーリンク





タイトルとURLをコピーしました