4D v16

リレーションの使用

ホーム

 
4D v16
リレーションの使用

リレーションの使用    


 

 

4Dテーブルとの間に設定されたリレーションは4D Mobileリンクのコンテキストにおいて透過的に使用されます。しかしながら、これらのリレーションのWakandaでの表示のされ方はモデルレベルで異なります。モデルエディターでは、リレーションはrelational attributesと呼ばれる特定の属性とリンクされています。これらの属性はリンクしたデータを直接表示するため、もしくはクエリを実行するためなどに使用されます。これについての詳細な情報に関しては、Wakandaドキュメントの"Attributes"セクションを参照して下さい。

4D側で設定されたそれぞれのリレーションに対して、Wakanda側ではモデルの表示に二つのrelational attributesが追加されています:

  • リレーションのソーステーブル(クラス)内にて、n->1属性
  • リレーションのデスティネーションテーブル(クラス)にて、1->n属性

これらの属性は、どちらも4D側のインスペクターにて定義されたN対1オプションと1対Nオプションでのリレーションの名前が与えられます。

具体例を考えましょう。"Employee/Company"ストラクチャーでのコンテキストにおいて、 [Employee] テーブルから [Company] テーブルへのリレーションを作成したとします。このリレーションには、識別のために名前を付けることが出来ます。この場合、例えばN対1リレーションには"worksFor"という名前をつけて、1対Nリレーションには"employs"という名前を付けることが出来ます:

Wakanda側では、コネクターのリンクを通じてこれらのリレーションが二つの新しいrelational attributesによって自動的にマテリアライズされます。これはモデルエディター内にて確認することが出来ます:

これらのリレーション(ひいてはそれに対応するrelational attributes)には、アプリケーションの目的に応じて自由に名前をつけることができます。

これの利点は、Wakanda 側でこれらの属性を使用してリレートしたデータを扱うのが簡単になるという事です。具体的には、relational attributesに基づいて datasources と関連付けられたウィジェットを作成することが出来ます。これらのウィジェットはユーザーアクションに応じて自動的に管理・更新されます。

例えば、一つのグリッドに会社の一覧を、もう一つのグリッドに選択した会社の従業員を表示するようなページを簡単に作成できるようになります。"Company" datastore classを一つのグリッドに関連付け、"employs" relational attributeをもう一つのグリッドに関連付けるだけです:

対応するデータソースは自動的に作成され、実行の間、両グリッドは自動的に同期されます:

 
 

 
プロパティ 

プロダクト: 4D
テーマ: リレーションの使用

 
履歴 

 
ARTICLE USAGE

4D Mobile ( 4D v16)