本文へ移動
Wagby11
マニュアルのグループを選ぶ

WAGBY11 MANUAL / 04

モデル同士を関連付ける

見積と顧客・商品などを関連付け、登録済みのデータを共通に利用する方法を説明します。

最終更新日:

モデル間の関係と参照の小目次へ

1. このページで伝える機能

見積の顧客や商品を、別のモデルに登録したデータから選べます。顧客名を見積ごとに入力する代わりに、顧客を識別するキーを保持して関連付けます。同じ顧客を複数の見積から参照できます。

2. Wagby11で実現できること

見積には顧客と商品を用意しました。顧客は検索して選び、商品はリストボックスから選びます。画面には名前を表示するため、利用者がキーを覚える必要はありません。

顧客・商品・支払方法を選んだ見積の登録画面。
顧客・商品・支払方法を選んだ見積の登録画面。

保存後も顧客と商品の関連を確認できます。名前や単価を別の項目として取り出す方法は「ルックアップ」で説明します。

用途別のモデルで同じ保存先のレコードを使いたい場合は、複数のモデルで同じDBテーブルを使うを参照してください。

3. AIへの指示例

最小限の指示例

見積に顧客と商品を関連付けて、登録済みのデータから選べるようにしてください。

参照先の主キー、選択方法、必須かどうかなどをAIが既存モデルから類推して補います。顧客名を文字列として複写するだけの設計を避けるため、既存データへの関連付けであることを伝えます。

より詳細な指示例

見積(Quote)に顧客(Customer)と商品(Product)への単一参照を追加してください。顧客は顧客名を見て検索して選び、商品は商品名のリストボックスから選びます。保存する値は各モデルの主キーとしてください。同じ顧客・商品を複数の見積から参照できるようにしてください。
既存の主キー・項目・データ・権限を保持し、必要なguide・referenceを確認してください。新しいモデルには自動採番の主キーとG_ADMINの登録・参照・更新・削除権限を用意してください。メニューと一般利用者向け操作マニュアルを更新し、設計情報の検証・コード生成・起動を行って動作を確認してください。

4. 編集されるAppSchemaの例

以下は関連する定義の抜粋です。記述方法を覚えなくても、実現したい動作をAIへ伝えられます。

entity:
  attributes:
    - name: 顧客
      name_en: customerId
      type: reference
      fk: { entity: Customer, field: customerId }
ui:
  fields:
    - name_en: customerId
      reference:
        control: search-dialog
        source: entity
        entity: Customer
        code_field: customerId
        label_field: customerName

ここでは見積モデルの抜粋を示します。referenceとfkの参照先指定で論理的な関係を表します。この定義だけではデータベースの外部キー制約は生成しません。DB制約も必要な場合はtype: fkの用途を参考資料で確認します。

5. 参考資料

guide:モデル間の関係
designer/docs/appschema/html/guide/03-model/03-relations.html
reference:entity
designer/docs/appschema/html/reference/06-entity.html
reference:ui
designer/docs/appschema/html/reference/10-ui.html