リレーション名について
親-子および子-親のリレーションは、多くのオブジェクト種別の間に存在しています。たとえば、取引先は取引先責任者の親オブジェクトです。
標準オブジェクトではこれらのリレーションを辿れるようにするために、各リレーションにリレーション名が与えられています。リレーションの方向に応じて、名前の形式は次のように異なります。
- 子-親リレーションにとって、親へのリレーション名は外部キーの名前であり、親オブジェクトへの参照を保持する relationshipName プロパティがあります。たとえば、Contact 子オブジェクトは、Account オブジェクトへの子-親リレーションを持っていて、Contact 内の relationshipName の値は、Account です。これらのリレーションは、たとえば次のように、クエリ内でドット表記法を使用して親を指定することによって、辿られます。
1SELECT Contact.FirstName, Contact.Account.Name from Contactこのクエリは、組織内のすべての取引先責任者の名 (ファーストネーム) と、各取引先責任者に対して関連付けられた取引先 (親) の取引先名を返します。
- 親-子リレーションに関しては、親オブジェクトは、親に固有の子リレーションのための名前 (子オブジェクト名の複数個) を持っています。たとえば、取引先は他のオブジェクトの間に Assets、Cases、および Contact への子リレーションを持っていて、それぞれには、Assets、Cases、および Contacts という relationshipName があります。これらのリレーションは、ネスト化した SOQL クエリを使用して、SELECT 句内のみを辿ることができます。次に例を示します。
1SELECT Account.Name, (SELECT Contact.FirstName, Contact.LastName FROM Account.Contacts) FROM Accountこのクエリは、すべての取引先を返し、各取引先に対して関連付けられた取引先責任者 (子) の姓と名を返します。
リレーション名は、SELECT 構文が同じでも、カスタムオブジェクトに関してはいくらか異なります。詳細は、「親子リレーションの識別」を参照してください。