子モデルの同時更新
最終更新日: 2021年6月29日
R8 | R9
「顧客」モデルと「サポート」モデルを例として扱います。
設定はすべて(子モデルとなる)サポートモデルで行います。親モデル側の設定はありません。
サポートモデルで、外部キーとなる「顧客ID」を検索条件に含めます。
「顧客ID」は、登録時に値をデータベースに保存する設定とします。
同じく「顧客ID」項目の詳細定義にて、条件式を「等しい」とします。
この設定の意図は、外部キーの参照先を特定できるようにするためです。よって例えば、外部キーが「文字型」の場合、「部分一致検索」を指定することはできません。
サポートモデルの「一覧更新画面」を作成するようにします。
一覧更新画面の設定欄に用意されている、外部キーの同時更新機能を有効にします。(標準では有効になっています。)
子モデルの初期表示数を指定することができます。
親モデル(ここでは顧客モデル)の登録画面では、図7のように指定した初期表示数分だけレコードが表示されるようになります。
サポートモデルの一覧更新画面設定で、「外部キーの同時更新機能>初期表示数」を設定します。
子モデルの任意のデータを選択し、更新画面へ直接、遷移することができます。
サポートモデルの「検索・一覧表示>外部キー連携」で、詳細ボタンと更新ボタンをそれぞれ有効にします。(更新ボタンのみ有効にすることもできます。)
外部キーによるモデルの連携は、複数指定することができます。このとき、子モデル同時更新も動作します。
外部キー関係にあるモデルにおいて、コピー登録を行うと親モデルに紐づく子モデルもすべてコピーされます。
図12では、顧客モデルにコピー登録機能を用意しました。
コピーボタンをクリックすると、コピー登録画面に遷移します。
顧客モデルのコピー登録画面では、関連するサポートのデータがある場合、これも同時にコピーされていることが分かります。(図13)
顧客モデルでは、「検索・一覧表示>ボタン表示>コピー登録ボタン」を有効にします。
サポートモデルでは、「一覧更新>外部キーの同時更新機能>同時更新を有効にする」を設定するとともに、「親モデルのコピー時に子モデルもコピーする」を設定します。(標準ではこの設定は有効になっています。)
コピー登録画面では、子モデルを表示のみとすることができます。"コピー登録画面で表示のみを行う" 設定を有効にします。
親モデルの主キーは、コピー登録時に値をコピーするようにしてください。(標準では、この設定はコピーする、となっています。)
実行すると図19のようになります。
(1) 表示のみの子モデルは、コピー登録されません。
二つ以上の外部キー子モデルをもつ親モデルでも、本コピー機能は動作します。
例と定義方法
1人の顧客にはN件のサポート情報が紐づいています。このとき、顧客モデルの更新画面で(紐づいている)N 件のサポート情報を更新することができます。
定義方法
注意
制約
初期表示数
定義方法
子モデル一覧表示から直接、子モデルの更新画面へ遷移する
定義方法
定義時の注意点
1つの親に複数の子を紐付ける
コピー登録
定義方法
コピー登録画面で表示のみを行う8.5.0
注意
(2) 親モデルの主キーがコピーされていない(図18の設定を行っていない)場合、入力エラーなどで画面が再描画されたとき、子モデルが表示されなくなります。
複数の外部キー子モデルをもつ場合
スクリプトを使って子モデル毎に異なる初期値を設定する
仕様・制約