一つの親に複数の子を紐づける
最終更新日: 2022年5月19日
R8 | R9
外部キーによるモデルの連携は、子を複数指定することができます。
モデルID (英語) の辞書順に並びます。
「参照先項目名」は、子モデル側の項目IDが同じ値の場合、省略できます。(今回は同じ「customerid」としたため、省略することができます。)
親モデル詳細画面の子モデルは、標準ではタブに格納されます。(図1,図2)
子モデルの画面定義を修正します。
「画面 > 検索・一覧表示 > 外部キー連携 > 表示方式 > タブレイアウト」のチェックをはずします。標準では、チェックされています。
今回の例のように複数の子モデルをもたせる場合、タブレイアウトの設定は統一することをおすすめします。
一つの親モデルに複数の子モデルが紐づく場合、表示順序は「子モデルのモデルIDの昇順」となります。
この順序を変更することができます。
タブレイアウトを利用しない場合も、この表示順序が適用されます。
「画面 > 検索・一覧表示 > 外部キー連携」の「タブの表示位置」を次の書式で指定します。
一つの子に複数の親を紐づける設定を行なった場合、次のようにコンマで区切って指定することができます。
位置番号は「1」から数えます。
例
顧客モデルを親とし、二つの子「購買履歴」「サポート」モデルを用意した例を図1,2に示します。
親モデルにおける表示順
定義方法
外部キーに指定した項目の型は、参照先の項目の型と同じ型で指定します。ここでは「顧客ID」を「数値」型と指定しています。
「外部キー>モデル名」に、親モデルを指定します。
子モデル表示レイアウトの変更(タブ表示と一覧表示)
子モデルをタブではなく、下図のように縦に並べて表示させることもできます。
定義方法
注意
(それぞれ異なる設定にすることは可能です)
子モデル表示の並び
下図は購買履歴(purchaselogs)と、サポート(support)というモデルIDの例です。
定義方法
親モデルID:位置番号
親モデルID:位置番号,親モデルID:位置番号,...