主キーの設計 (5) 親子孫の関係を変更する

最終更新日: 2023年1月30日

設定方法

前ページで説明したサンプルを修正し、孫モデルCの新規登録時に、紐づく親モデルを変更できるようにしてみます。

新たに次の項目を追加、修正します。

項目名 説明
モデルBがもつモデルAの主キー入力用 モデル参照(検索) 追加。モデルAの主キーと紐づく。
モデルBがもつモデルBの主キー入力用 モデル参照(検索) 修正。モデルBの主キーと紐づく。モデルAの主キーの値で絞り込む設定を含める。
追加した項目

「モデルBがもつモデルAの主キー入力用」項目はモデルAと紐付けます。「自モデル内項目へのマッピング」で主キー項目と紐付けます。これによって、この項目への入出力はすべてマッピングされた項目に対する操作に変わります。

モデルBがもつモデルAの主キー入力用項目 (1)
モデルBがもつモデルAの主キー入力用項目 (2)

「モデルBがもつモデルBの主キー入力用」項目はモデルBの主キー群と紐付けます。「自モデル内項目へのマッピング」で主キー項目と紐付けます。これによって、この項目への入出力はすべてマッピングされた項目に対する操作に変わります。

モデルBがもつモデルBの主キー入力用項目 (1)

この項目は「モデルBがもつモデルAの主キー入力用」の値で絞り込むようにします。これによって親(モデルA)に紐づく子(モデルB)だけがセットできるようになります。

親の値で絞り込む設定

動作例

孫モデルCの新規登録画面を開きます。親(モデルA)と子(モデルB)を選択できます。

孫(モデルC)の新規登録画面

親(モデルA)を選択します。

親(モデルA)を選択する

続いて子(モデルB)を選択します。上で入力した親の主キー値で絞り込まれています。

子(モデルB)を選択する

孫(モデルC)に紐づく親、子を指定しました。このように親と子の組み合わせを指定できます。

孫(モデルC)に紐づく親、子を指定した

紐づく親を変更すると、子の選択肢も変わります。

紐づく親を変更すると、子の選択肢も変わる

孫(モデルC)を登録できました。

孫(モデルC)の登録