2017-03-09 8 views
1

ドキュメントとgithubの問題を見てきました。ループバックモデルが更新されない - ループバック:エラー:関係 "chatroomID"はChatMessageモデルに定義されていません

https://loopback.io/doc/en/lb2/HasMany-relations.html

https://github.com/strongloop/loopback-datasource-juggler/issues/76

hasMany relation: including from the other direction

私は、エラーを取得した理由に私の指を置くことができませんでした:Error: Relation "chatroomID" is not defined for ChatMessage model

私が正しく私のJSONを編集していてもいるようです、私のチャットルームモデルは更新されていません(RESTエクスプローラのように)

enter image description here

しかしchatmessageは

enter image description here


チャットmessage.json

{ 
    "name": "ChatMessage", 
    "base": "PersistedModel", 
    "idInjection": true, 
    "options": { 
    "relations": { 
     "ChatRoom": { 
     "type": "belongsTo", 
     "model": "ChatRoom", 
     "foreignKey": "chatroomID" 
     }, 

... 

チャットroom.json

{ 
    "name": "ChatRoom", 
    "base": "PersistedModel", 
    "idInjection": true, 
    "options": { 
    "relations": { 
     "chatMessages": { 
     "type": "hasMany", 
     "model": "ChatMessages", 
     "foreignKey": "chatMessagesID" 
     } 
    } 
    }, 
... 
を更新するために管理しましたコントローラで

:双方向の関係で

function getMsgs() { 
    // http://loopback.io/doc/en/lb2/Include-filter.html 
    return (
    ChatMessage.find({ 
     "filter": { 
     "include": { 
      "relation": "chatroomID", 
      "scope": { 
       "include": ["ChatRoom"] 
      } 
     } 
     } 

}) 

答えて

2

外部キーと同じはずです。

また、関係のモデルを間違って設定することに注意してください。これは、このような 変更ChatMessageないChatMessages(「S」)です:

//chat-room.json 
{ 
    "name": "ChatRoom", 
    "base": "PersistedModel", 
    "idInjection": true, 
    "options": { 
    "relations": { 
     "chatMessages": { 
     "type": "hasMany", 
     "model": "ChatMessage", 
     "foreignKey": "chatroomID" 
     } 
    } 
    }, 
... 

しかし、関係を定義していないなど、の、あなたがchatroomID関係を持っていけないので、あなたが得たエラーです。あなたはchatMessagesの関係を持っています。

だから、好きな変更:応答のための

ChatRoom.find({ 
     "filter": { 
     "include": { 
      "relation": "chatMessages" 
     } 
     } 
+0

感謝を。 "GET/ChatMessagesリクエストのための未処理のエラー"フィルタ=%7B%22%22:%7B%22%22%22chatMessages%22%7D%7D:エラー:関係 "chatMessages"はありません。 ChatMessageモデルのために定義された ' –

+0

@NatuMyersああ申し訳ありません。私の悪い。呼び出されるモデルは 'ChatMessage'ではなく' ChatRoom'です。私は自分の答えを更新しました。これは間違ったモデルで呼び出されたコードの別の問題です –

+0

大変ありがとうございます<3 –

関連する問題