私はループバックフレームワークを使用しており、modelBと多対多の関係にあるmodelAを持っています。 複数のアイテムをmodelBからmodelAに関連付けることが可能かどうかを知りたい。 この呼び出しで一つの項目を関連付ける方法はあり:複数のアイテムを1つのREST呼び出しに関連付ける
/modelA/{id}/modelB/rel/{fk}
は一括操作でこれを実行する方法はありますか?
私はループバックフレームワークを使用しており、modelBと多対多の関係にあるmodelAを持っています。 複数のアイテムをmodelBからmodelAに関連付けることが可能かどうかを知りたい。 この呼び出しで一つの項目を関連付ける方法はあり:複数のアイテムを1つのREST呼び出しに関連付ける
/modelA/{id}/modelB/rel/{fk}
は一括操作でこれを実行する方法はありますか?
質問を正しく理解していれば、フィルタを使用して簡単に行うことができます。 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
HasManyThrough modelのようです。
私はあなたのモデル名は小文字で始まりますが、理想的にはModelA
とModelB
である必要があり、そのインスタンスは、その後modelA
とmodelB
変数に保存することができると信じています。
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
形式でそのインスタンス変数から始まるあなたのモデルに名前を付けます。
私は実際にレコードをmodelAmodelBsリンクテーブルに追加します。私はこのようないくつかの例を見つけました: 'modelA.modelBs.add(modelAObj、function(err){});'、しかし私はそれを動作させることができませんでした。 – yotamsha