node.jsループバックサーバーでオブジェクトをロードしようとしていますが、同じクエリで複数の関連オブジェクトをロードしたいとします。これらの関連オブジェクトは異なる深さにあります。これは、クエリです:LoopBack/Node.jsクエリの複数の深さに複数の要素が含まれています
/api/MyUsers/114?filter[include][institutes]=institute&filter[include]=departments&filter[include]=profiles
お知らせその[機関] =研究所は二つのレベルと部門とプロファイル一つだけを持っています。
これは私にエラーを返します: 500内部サーバーエラー。エラー:ユーザーモデルにリレーション "0"が定義されていません。 Node.jsのデバッグで
私は、最終的なJSONクエリが発生したことに気づい間違っているようだ。ここでは
{ include:
{ '0': 'departments',
'1': 'profiles',
institutes: 'institute' } },
...
}
はMyUserとのモデルである:
{
"name": "MyUser",
"plural": "MyUsers",
"base": "User",
"idInjection": true,
"options": {
"validateUpsert": true
},
"mixins": {
"Versioning": true,
"Tenant": true
},
"properties": {
"name": {
"type": "string",
"required": true
},
"email": {
"type": "string"
}
}
"validations": [],
"relations": {
"departments": {
"type": "hasMany",
"model": "UserDepartment",
"foreignKey": "user_id"
},
"institutes": {
"type": "hasMany",
"model": "UserInstitute",
"foreignKey": "user_id"
},
"profiles": {
"type": "hasMany",
"model": "UserProfile",
"foreignKey": "user_id"
},
},
"acls": [],
"methods": {}
}
誰がこの問題に直面しています?ループバックのバグですか?もしそうなら、私は解決策のためにどのように回り込むことができますか?
問題は、部門が定義されていることです。最終的なインクルードJSONが正しく生成されていないことがわかるように、 '0'はそこにあるべきではないので、 '0'がリレーションの場合のように動作します。 – Vanderson
あなたのモデルを質問にも追加できますか? Loopbackは、すべてのインクルードがUserモデルに関連していると想定しています。モデル定義に、どのレベルにどのようなレベルを含めるべきかを表示できますか? –
質問に上記のモデルを追加しました。 – Vanderson