親モデルが存在しないと子モデルの作成が行えないようにする
最終更新日: 2021年7月20日
親モデルの詳細画面に、子モデルの新規登録ボタンを用意します。かつ、子モデルの新規登録ボタンは子モデル側には用意しません。これによって子のデータが存在するとき、必ず(紐づく)親は存在するという運用を実現します。
「顧客」と「サポート」という2つのモデルを例に説明します。
最初に「サポート検索」からサポート検索画面を開きます。この時点では、データは1件も登録されていません。
サポートモデルは、「どの顧客モデルに対してのサポートか」という関係を持っています。そのため、顧客モデルを指定せずにサポートモデルを単独で作成することはできないようになっています。(図1の画面に「新規登録」ボタンは表示されません。)
次に、顧客のデータを新規に登録します。
「サポート新規作成」ボタンをクリックし、サポート新規登録画面を開いてみます。顧客ID(紐づく親モデルのID)は自動設定かつ読み込み専用としています。(親を変更することはできません。)
各項目を入力して登録を行います。サポート詳細表示画面から顧客モデルへ戻るための「顧客 一覧表示」「顧客 詳細表示」ボタンが用意されています。
子モデル(ここではサポートモデル)の検索・一覧画面で「登録」ボタンを非表示とします。
子モデルがもつ外部キー(顧客ID)を読み込み専用にします。
例
顧客の詳細表示画面に「サポート新規作成」ボタンが用意されています。
外部キーの関係にあるサポートモデルの新規登録は、対象データ(ここでは顧客データ)の詳細表示画面から行います。
設定方法
子モデルの検索・一覧画面
外部キーを読み込み専用にする
仕様・制約