2016-06-27 7 views
3

私はループバックフレームワークを使用しており、modelBと多対多の関係にあるmodelAを持っています。 複数のアイテムをmodelBからmodelAに関連付けることが可能かどうかを知りたい。 この呼び出しで一つの項目を関連付ける方法はあり:複数のアイテムを1つのREST呼び出しに関連付ける

/modelA/{id}/modelB/rel/{fk} 

は一括操作でこれを実行する方法はありますか?

答えて

0

質問を正しく理解していれば、フィルタを使用して簡単に行うことができます。 MODELAが多くmodelBsを持って、私はリレーション名は安らかな方法で 'modelBs'

modelA.find({ 
    where: [your filter option on model A] 
    include: { 
     relation: 'modelBs', 
     scope: { 
      [your filters on model B] 
     } 
    } 
}) 

であると仮定しましょう:

/modelAs?filter[include]=modelBs&filter[where].... 

公式ドキュメントは助けることがあります。https://docs.strongloop.com/display/public/LB/Querying+data

+0

私は実際にレコードをmodelAmodelBsリンクテーブルに追加します。私はこのようないくつかの例を見つけました: 'modelA.modelBs.add(modelAObj、function(err){});'、しかし私はそれを動作させることができませんでした。 – yotamsha

0

HasManyThrough modelのようです。

私はあなたのモデル名は小文字で始まりますが、理想的にはModelAModelBである必要があり、そのインスタンスは、その後modelAmodelB変数に保存することができると信じています。

addメソッドを使用するためには、あなたがmodelA変数に保存し、次のコードを使用することができますModelA.findById使用して、まず、第1 ModelAのインスタンスを検索する必要があります。modelBsは名前でなければなりません

modelA.modelBs.add(modelBFieldsObject, function(err, patient) { 
    ... 
}); 

"relations": { 
    "modelBs": { 
     "type": "hasMany", 
     "model": "ModelB", 
     "foreignKey": "modelAId", 
     "through": "ModelAModelB", 
     "keyThrough": "modelBId" 
    } 
    ... 

のようModalA.jsonファイルに関係の私は複数のインを作成するためにmodelBFieldsObjectの配列を渡すことが許されるべきだと思います

modelA.modelBs.add([modelBFieldsObject, modelBFieldsObject], function(err, patient) { 
    ... 
}); 

ヒントのようtances:明確にするためは、大文字とcamelCase形式でそのインスタンス変数から始まるあなたのモデルに名前を付けます。

参考文献:Methods added to the model

関連する問題