Posted at

Loopbackの関係モデル

More than 3 years have passed since last update.

メモ書きです。内容はまだ検証してません。

この種の情報が必要な方は、公式を参照してください。

https://docs.strongloop.com/display/public/LB/Creating+model+relations


belongsTo

 多対1または1対1関係を記述する。

 例1:オーダとカスタマー(オーダはカスタマーIDを持つ)…hasMany関係

 例2:住所とカスタマー(住所はカスタマーIDを持つ)…hasOne関係

 hasOne, hasManyはbelongsToの限定的な形式で、利用すると便利メソッドが生えるみたい。


hasManyThrough

 中間テーブルを用いた多対多関係を記述する。

 例:内科医と患者と面会モデル(面会モデルは、内科医IDと患者IDを持つ)


hasAndBelongsToMany

 中間テーブルを用いず、直接多対多関係を記述する。


polymorphic

 LoopBackは、一つ以上のモデルに属することができる、ポリモーフィックモデルをサポートしている。

 例)AuthorモデルとReaderモデル両方に属するPictureモデル


Embedded model

 埋め込みモデルをサポートしている。


  • EmbedsOne … 一つのモデルに埋め込まれているパターン。例:カスタマーは支払先住所を埋め込んでいる。

  • EmbedsMany … 他のモデルを複数個埋め込んでいるモデル。例:カスタマーは複数のEメールアドレス(ラベルとアドレスを含むなど、複雑なもの)を埋め込んでいる。

  • EmbedsMany with belongsTo … たくさんの関係者へのリンクを埋め込んだモデル。例:bookモデルは多数の関係者(著者と読者)へのリンクを含む。それぞれのリンクはポリモーフィックである。

  • ReferencesMany … 特に説明がない