【ローコード開発ツール】Wagby EE 使ってみた! - 第6回 他モデルと連携させる

前回までは1つのモデルの設定を変更したり表示を調整したりしていきましたが、実際のアプリケーションでは1つのモデルのみでアプリが構成されることは稀です

今回はモデル同士を連携させて、親子関係や外部連携を実現していきます

参照連動

Wagby EE では参照先の項目を利用して、参照先の情報を、参照元で表示することができます。これを「参照連動」といいます

参照連動では主キー以外の項目を利用して連動させることができます

ここでは例として売上モデルを作成し、顧客モデルの名前を用いて参照連動を設定していきます

設定方法

売上モデルの各項目の設定を下表のように設定していきます

IDと売上日は今まで通りの項目なので、先に設定してしまいましょう

次に、顧客名の設定を行います

顧客名の型を「他モデルの項目参照」に設定します

型を他モデルの項目参照に設定すると、型詳細設定画面が開きます

ここでは、どのモデルを参照するのか・項目をどう入力するのか、参照先のモデルのどの項目にするのかが設定できます

顧客名の設定では、「顧客」を参照し、「検索画面」で入力、参照先の項目は「氏名」とします

続いて顧客名かなも他モデルの項目参照の設定を行っていきます

顧客名かなのほうは、検索画面などで設定するのではなく、顧客名が決まれば自動的に同じレコードのかな名を取得(参照・連動)するよう設定していきます

型を「他モデルの項目参照」に設定し、出てきた画面で参照先モデルを「顧客」、「入力タイプ」を「参照連動」に設定します

すると「連動する項目名」が表示されます。この項目ではどの項目を設定したらそれに合わせたデータを取得するかを設定することができます

今回は顧客名を設定したらその氏名に合わせた顧客名かなを設定したいので「顧客名」を設定します

参照先モデル項目はかな名を取得したいので「かな名」を設定します

ここまで設定できたら差分ビルドを行ってアプリケーション画面を見てみましょう

差分ビルドが終わったら売上の登録を行ってみます

アプリで確認

登録画面では顧客名の入力欄に検索マークが表示されるようになります

ここをクリックして検索画面を開いてみましょう

このように検索画面が表示され、どのレコードかを選ぶことができます

試しに「アベール太郎」をクリックしてみましょう

このように顧客名を入れるだけで同じレコードの顧客名かなも入力されました

参照連動ではこのように2つのモデルを紐づけることができます

INFO

参照連動では主キー以外のものを参照先の項目として設定することが可能ですが、内部的にはIDを取得しています。そのため、同じ漢字の名前でも読み方が違う、といった場合でもクリックしたレコードと同じレコードの情報を取得することができます

外部キー連携

先ほどまでの参照連動とは少し異なる動きをする連携方法として、「外部キー連携」というものがWagby EE では存在します

参照連動では、参照元モデルで参照先モデルの情報を取得、表示したい場合に利用しますが、外部キー連携では参照元モデルから参照先モデルを作成したい、といった場合に採用されます

ここでは例としてサポート履歴モデルを作成し、外部キー連携の動きを見ていきます

設定方法

サポート履歴モデルの各項目の設定を下表のように設定していきます

最初は下表通りにモデルを作成します

NOTICE

参照連動とは異なり、連携先の項目の主キーを選択する必要があります

モデルを作成したら顧客IDの項目の詳細ボタンをクリックして設定画面を開きます

詳細画面が表示されたら、詳細タブにある外部キーの項目で、モデル名で「顧客(customers)」参照先項目名で「ID(ID)」を選択してOKをクリックします

ここまで設定が終わったら差分ビルドを行います

アプリで確認

今回は、顧客の詳細画面を開きます

すると、「サポート履歴 新規作成」のボタンと、サポート履歴のタブが作成されるようになります

では、「サポート履歴 新規作成」をクリックして、データを登録してみます

新規登録画面に遷移すると、顧客IDが入力された状態になっています。これは、遷移元の顧客IDをコピーして自動で入力されます

受付日時と内容を入力して保存してみましょう

サポート履歴の詳細画面では、「顧客 一覧表示」と「顧客 詳細表示」と連携先のモデルの画面を表示させることができるようになっています

「顧客 詳細表示」をクリックして、もう一度顧客の詳細画面を開きます

顧客の詳細画面でサポート履歴の項目が表示されるようになりました

INFO

現在、表示されている項目が「詳細」のボタンのみとなっていますが、これはサポート履歴モデルの設定で、各項目の一覧にチェックを入れていないためです。一覧にチェックを入れることで内容も表示されるようになります

外部キー連携では参照連動とは異なり、連携元側のモデルでは連携先の情報は多く持っていません。しかし、連携先の詳細画面から連携元のデータを作成できたり、連携先側で連携モデルのデータが表示できたりと、似たような機能ですが異なる動きを表現することができます

終わりに

今回は他のモデルと連携させる方法について記載しました。次回はモデルの中に小さいモデルのようなものを作る、繰り返しコンテナについて紹介したいと思います

このページの内容が気になったらお気軽にお問い合わせください
また、さらに詳細なWagby EEの操作を見てみたい場合は紹介セミナーを開催しているのでこちらもお問い合わせください