Salesforce 認定 Platform デベロッパー 問題集

Salesforce 認定 Platform デベロッパー(Platform Developer)試験対策公式Exam Guide(Summer '25・2026年7月24日公開版)準拠

Salesforce 認定 Platform デベロッパーの日本語問題集。全180問に解説つき。

Salesforce 認定 Platform デベロッパー 無料問題 1 / 10 ・ 分野1: デベロッパーの基本

次の Apex で、取引先ごとに関連する取引先責任者を受け取る変数を宣言したい。X に入る宣言として、Apex 開発者ガイドの説明に合うものはどれか。 for (Account a : [SELECT Id, Name, (SELECT LastName FROM Contacts) FROM Account WHERE Name = 'Acme']) { X }

  1. Contact[] cons = a.Contact__r;
  2. Contact cons = a.Contacts;
  3. Contact[] cons = a.Contacts;
  4. Contact cons = a.getContacts();
正解と解説を見る

正解: C

正解の理由
Apex 開発者ガイドの「Understanding Foreign Key and Parent-Child Relationship SOQL Queries」は、親子の関係をサブクエリで取った結果を Apex で受け取る例を示している。例では、取引先ごとに取引先責任者のサブクエリを書き、ループの中で Contact[] cons = a.Contacts; と受け取っている。サブクエリの結果は、関係の名前 Contacts の項目に取引先責任者のリストとして入るので、配列(リスト)の型で受ける。

違う選択肢
「Contact cons = a.Contacts;」… 単一の Contact で受ける書き方がガイドの例で動くのは、サブクエリに LIMIT 1 を付けて取引先責任者を1件に絞った場合である。この問いのサブクエリは件数を絞っていないので、リストの型で受ける。
「Contact[] cons = a.Contact__r;」… 取引先から取引先責任者へのような標準オブジェクトの親子の関係では、関係の名前は子のオブジェクトの複数形(Contacts)になる(SOQL and SOSL Reference の「Using Relationship Queries」)。__r はカスタムの関係の名前に付く接尾辞で、標準の関係の名前ではない。
「Contact cons = a.getContacts();」… 読み違いが2つ重なっている。ガイドの例は、サブクエリの結果を a.Contacts のように関係の名前で読んでおり、get で始まるメソッドを呼ぶ書き方ではない。また、件数を絞っていないサブクエリの結果は、単一の Contact ではなくリストの型で受ける。

押さえどころ
親から子へのサブクエリの結果は、親の sObject の関係の名前の項目に入り、そこからリストとして受け取る。同じページの例は、サブクエリを LIMIT 1 で1件に絞った場合に限って、単一の sObject でも受けられることも示している。

Salesforce 認定 Platform デベロッパーの演習アプリ(無料10問・全問は解錠で)へ

問題集(note)を見る