2016-04-04 5 views
2

ループバックHasManyThroughのマニュアルページに記載されているデータ構造にかなり似たデータ構造があります。ループバック付きの結合表の属性を返します

特定の医師(例えばid2)の場合、私はすべての患者に予定と予定日を与えたいと思います。

私はこのようなGET操作を行うことができます。{ "include" : {"relation":"patients"} }

filterヘッダと

GET /physicians/2

そして、私は医師、および患者のリストを取得しませんが、私はのappointmentDateを失います関係。

それとも、私はドキュメントのような関係テーブルの上にGET操作を行うことができますが示しています

GET /appointments

filterヘッダ { "include" : {"relation":"patient"}, "where":{"physicianId":2}} }

そして私は日付で、予定を取得し、患者は埋め込まれているが、医師の詳細は含まれていない。

私は2つを組み合わせることはできないようです。

1つのクエリでデータ全体を取得する方法はありますか?私が見つけたハックは二度の関係を定義することです

[ 
    "name" : "Dr John", 
    "appointments" : [ { 
     "appointmentDate": "2014-06-01", 
     "patient": { 
      "name": "Jane Smith", 
      "id": 1 
     } 
    }] 
] 

一つ 方法:

データはこのようなものになるだろう。 filterヘッダ{ "include" : {"relation":"appointments","scope":{"include":["patient"]} } }

GET /physicians/2

しかし、それは右のように見える、または可能性はありません。一度HasManyThroughとして、かつての予定表へHasManyとして、私はこのような何かを行うことができますおそらく重複した関係で奇妙な行動につながるかもしれませんが、多分私は妄想です。

答えて

1

あなたは、あなたが(ID 2を持つ医師の詳細)しかし、重複データのかなり多くを得るでしょう、両方のモデル

GET /appointments 
{ "include": ["patient", "physician"], "where": { "physicianId":2 } } 

を含めることができます。私は、HasManyThroughリレーションモデルは当初、余分なデータを運ぶはずではないと考えていたため、いくつかの制限があります。 Hereは関連するgithubの問題です。

+0

ありがとうございました。私はgithubの問題、および関連するSOの質問、両方の良い読書を発見していない。 – Ben

関連する問題