セーブポイントが見つからない

【Salesforce】関連レコードの考え方について

こんにちは、にいるです。

今回は、「関連レコードの考え方」について説明したいと思います。

1.関連レコードとは

ちょっと実務でオブジェクトのリレーションを考えることがあったので、見え方を記事にしておこうと思いました。

まず関連レコードの定義についてですが、この記事では主従関係を題材にしています。

主従関係を理解できれば、ある程度のオブジェクトのリレーションを把握できると思います。

【Salesforce】主従関係について
【Salesforce】参照関係について

2.主従関係

まず主従関係の考え方について、説明したいと思います。
主従関係は2つのオブジェクト間で強い紐付きを持つリレーションです。

主に対して、必ず従を紐付けさせる必要があります。
シンプルに説明するために、下記のような主と従オブジェクトを作成します。
 

 
次にリレーションを構築するため、従オブジェクトから主従関係項目を主オブジェクトに対して作成します。
 

 
ここから主従それぞれのレコードを開いてみます。
 
■主レコード

 
■従レコード

 

このように、主レコードでは従レコードが関連リストに追加されていることがわかります。
従レコードの場合、項目を作成した側なのでリレーションを項目で持っていることがわかります。

このリレーションの場合、項目には1つの値しか入らないので、従にとって主は唯一の存在だと考えてください。
逆に、主にとっては、他の従レコードがこの主レコード(M-0001)と紐づいた場合は関連リストにレコードが追加されます。
M-0001に紐づく従レコードを他にも作成してみます。
 

 
この状態で主レコードを見てみると、関連リストに2つのレコードが表示されているのがわかります。
 

 
このように主にとっては、勝手に紐づいてくるので1対多の関係になっているがわかります。

3.数式項目

次に数式項目の参照についてです。
結論では、主→従の参照はできませんが、従からは主の項目を参照できます。
なぜなら主項目が定義されているからです。
 
■従→主の参照

 
主から従の場合は、関連リスト上では関連があるので数式項目でも参照できそうなイメージですが、参照される従がたくさんある場合にどれを取っていいのかわからない状態になっています。
何より従項目を主オブジェクトに持っていないので、選ぶ項目がなく参照できないです。
 
■主→従の参照

 
慣れない人にとっては、「あれ?」って思うかもしれません。
ポイントは相手先の「項目」を持っているかどうかですね。
項目を持っていれば、相手側のデータを数式で取得できます。

4.まとめ

いかがでしたでしょうか。

オブジェクトのリレーションはSalesforceエンジニアとして絶対に押さえておかないといけません。
開発になればSOQLやSOSLなどのクエリ言語もあります。

まずは基礎の標準機能で知識を付けておきましょう!

皆さんもぜひ色々と試してみてください。
他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。

ではでは!