2016-08-19 10 views
1

私はTwitterのようなモデルを作成したいのですが、それが動作するために管理することはできません(Twitterのような)フォロイーモデル:Loopbackjs:フォロワーと

ユーザーズモデルこれまで:

{ 
    "name": "NsUser", 
    "base": "User", 
... 
    "relations": { 
     "followers": { 
      "type": "hasMany", 
      "model": "User", 
      "through": "Follow", 
      "foreignKey": "followerUserId" 
     }, 
     "followees": { 
      "type": "hasMany", 
      "model": "User", 
      "through": "Follow", 
      "foreignKey": "followeeUserId" 
     } 
    } 
} 
これまで

フォローのモデル:

{ 
    "name": "Follow", 
    "base": "PersistedModel", 
... 
    "relations": { 
    "followee": { 
     "type": "belongsTo", 
     "model": "NsUser", 
     "foreignKey": "followeeUserId" 
    }, 
    "follower": { 
     "type": "belongsTo", 
     "model": "NsUser", 
     "foreignKey": "followerUserId" 
    } 
    } 
} 

は、その後、私がフォローモデルで関係を追加します。

{ 
    "created": "2016-08-19T09:23:18.175Z", 
    "id": "57b6d0068d55e5368538c8f4", 
    "followeeUserId": "578f7ad2ba0bfc40d78ef985", 
    "followerUserId": "5790bb3172e2738deb7532ee" 
    } 

しかし、ここでhttp://0.0.0.0:3008/api/NsUsers/5790bb3172e2738deb7532ee/followers で結果を得ることができないがクラッシュです:

{ 
    "error": { 
    "name": "Error", 
    "status": 500, 
    "message": "Relation \"user\" is not defined for Follow model", 
    "stack": "Error: Relation \"user\" is not defined for Follow model\n at processIncludeItem .... 
    } 
} 

私は少し掘ると、ここで同様の問題があったが見つかりました:https://github.com/strongloop/loopback-datasource-juggler/pull/394

は、しかし、私は、ループバックを必要とするようですデータソース-ジャグラー> = 2.18.0が、私はそれが私に語っ

npm update loopback-datasource-juggler 
npm -v loopback-datasource-juggler 

を実行します。2.10.1

多分それは唯一の問題です(私は本当に最新のバージョンを入手しますか?)、またはそれは間違っている私のモデルですか?

答えて

1

リレーションモデルを誤って定義しました。 FollowモデルはNsUserの関係にありますが、NsUserにはuserの関係が定義されています。

は次のように変更してください:

"relations": { 
     "followers": { 
      "type": "hasMany", 
      "model": "NsUser", 
      "through": "Follow", 
      "foreignKey": "followerUserId" 
     }, 
     "followees": { 
      "type": "hasMany", 
      "model": "NsUser", 
      "through": "Follow", 
      "foreignKey": "followeeUserId" 
     } 
    } 
+0

ありがとうございました!私は最後に "フォロワー"で終わった:{ "タイプ": "hasMany"、 "モデル": "NsUser"、 "foreignKey": "followeeUserId" 、 "から": "フォロー"、 "keyThrough": "followerUserId" }、 "フォロイー":{ "タイプ": "hasManyの"、 "モデル": "NsUser"、 "のForeignKey": "followerUserId"、 "through": "Follow"、 "keyThrough": "followeeUserId" } – F3L1X79

1

この質問はNPMの問題のようですが、実際はループバックの問題ではありません。 loopback-datasource-jugglerのnpmページは、最新バージョンが2.49.0であることを示しています。

私はこの問題があなたの(またはおそらく別のモジュールの)package.jsonファイルの依存関係を説明していると思います。最初にpackage.jsonファイルを調べてみてください。

+0

すべてpackages.jsonは大丈夫だった、私はNPM -vのバグがあったと思います... – F3L1X79

関連する問題