顧客管理 親子関係(外部キー)の設定
最終更新日: 2021年2月4日
Wagby EE では、モデル同士に親子関係を設定することができます。Wagby EE における親子関係の設定
親子関係とは、以下のような関係性を示します。
本チュートリアルでは、「サポート」、「サポート種別」の2つのモデルを新規追加し、
「顧客」モデルと「サポート」モデルの間に親子関係を設定します。
サポートモデルを用意する
先のチュートリアルで作成した「顧客」モデルを親とし、子モデルとして「サポート」モデルを用意します。
サポートモデルには一人の顧客に対して複数件のデータを登録することができます。
-
モデルを以下の通り新規作成します。
モデル名:サポート
モデルID:support項目名 項目ID英語 型 主キー 外部キー 検索 一覧 サポートID supportid 数値 〇 顧客ID customerid 数値 〇 日付 supportdate 日付 〇 〇 タイトル title 文字列型 〇 〇 サポート種別 supporttype 文字列
※後で変更します〇 〇 内容 content 文字列 「顧客」と「サポート」モデル間に親子関係を付与するため、主キー項目「サポートID」に続けて外部キー項目「顧客ID」を用意します。
項目名、項目ID、型はいずれも顧客モデルの「顧客ID」項目と同じにしています。ワンポイント
補足:外部キーについて
他モデルの主キー項目をモデル項目として利用する場合、その項目は「外部キー」と呼びます。
今回は「顧客」モデルの「顧客ID」を「サポート」モデルに外部キーとして設定しました。
外部キーは、元の項目と型が同じである必要があります。 -
「顧客ID」を外部キー項目に設定します。
顧客IDの詳細設定を開き、「外部キー」に以下の通り設定してください。
モデル名:顧客 (customer)ワンポイント
補足:「参照項目名」の設定について
参照先項目名は、項目ID名が参照元の項目と異なる場合にのみ指定します。
今回は同一の項目ID名 (customerid) としたため、指定しません。 -
外部キーを設定すると、その項目の左端に鎖アイコンが表示されます。
このアイコンが表示されていれば、外部キーの設定は完了です。 -
モデルの一覧画面に戻り、新しい選択肢モデル「サポート種別」を作成します。
ギアアイコン内の「テンプレート」より、「選択肢モデル(初期データ固定)」をクリックします。ワンポイント
補足:「初期データ固定」の場合とそうでない場合の違い
初期データ固定としない場合、アプリケーション上で選択肢となるデータを随時追加・更新することができます。
一方、初期データ固定とした場合、初期データとしてWagbyDesignerで登録した選択肢のみ利用可能となります。
アプリケーション上での追加や更新はできません。
★初期データ固定の選択肢モデルは「血液型」や「都道府県」のように運用途中で変更が生じない性質のデータに適しています。 -
サポート種別モデルを以下の通り作成します。
モデル名:サポート種別
モデルID:supporttype
-
次に、サポート種別モデルの初期データを3種類設定します。
「初期データ」タブをクリックし、以下を登録します。
ギアアイコンの「新規」をクリックすると行を追加できます。No. ID 内容 表示優先度 有効期限 1 1 価格照会 未入力 未入力 2 2 使い方 未入力 未入力 3 3 サポート 未入力 未入力 -
サポート種別モデルの設定が完了したら、今度はサポートモデルの「サポート種別」項目と紐づけるよう設定します。
先ほど作成したサポートモデルの編集画面を開き、「サポート種別」項目の型を文字列から「他モデルの項目参照」に変更します。 -
型を変更すると、ウインドウが立ち上がるので、以下の通り設定します。
参照先モデル:サポート種別(supporttype)
入力タイプ:ラジオボタン
参照先モデル項目:内容(content)
-
これでモデル定義は完了です。
最終的に、サポートモデルの定義は以下のようになりました。
動作確認とバックアップ
アプリケーションをビルドし、動作確認を行います。
動作確認が完了したら、最後にデータをバックアップします。
-
アプリケーションをビルドし、ログオンします。
ビルドとログオンの方法についてはビルド~アプリケーションの起動を参照してください。 -
ログオン出来たら、前回のチュートリアルでバックアップしたデータを復元します。
復元方法についてはビルドとデータの復元を参照してください。 -
顧客モデルに登録してあるデータの詳細表示画面を開くと、子モデルに設定した「サポート」モデルの登録ボタンが表示されます。
鈴木 一郎さんのサポート情報を登録します。「サポート新規作成」ボタンを押してください。注意
このボタンが表示されない場合は「リポジトリ>外部キー>連携に関する設定>ボタンの表示を制御する」の設定を確認してください。
- サポート登録画面に遷移します。顧客IDは先ほど表示していた顧客データと同じものが自動的にセットされます。
-
サポート情報を以下の通り1件登録します。
日付:今日の日付
タイトル:Wagbyアップデート
サポート種別:サポート
内容:Wagbyをアップデートしたいのですが、どうしたらよいですか?
-
サポートモデルの詳細表示画面では、親モデル「顧客」の一覧表示・詳細表示画面へ遷移するボタンが表示されます。
「顧客 詳細表示」ボタンをクリックすると、鈴木 一郎さんの詳細データを表示します。 - 顧客の詳細表示画面では、この顧客データに紐づくサポート情報が表示されます。(1:Nの関係)
-
最後に、現時点のデータを保存(エクスポート)します。
手順はデータのバックアップを参照してください。
繰り返しコンテナと外部キーの違い
前回のチュートリアルで設定した「繰り返しコンテナ」と今回の「外部キー」は似た構造になっています。
両者とも、関連するモデルと1:Nの関係になるという点で共通していますが、両者の違いは次の通りです。
-
繰り返しコンテナはモデル内の項目を束ねるためのものです。
モデルのデータが削除されると繰り返しコンテナのデータも同時に削除されます。
-
外部キーは、モデル同士を関連づけるためのものです。
繰り返しコンテナとは違い、子モデルとして独立しているので、単独での検索やデータ登録が可能です。
ここまでの連携方式のまとめ
ここまでのチュートリアルでは「顧客」「営業日報」「サポート」という三つのモデルを、異なる方式で連携させました。