2016-08-19 5 views
1

내가 트위터와 같은 모델을 생성하고 싶지만 그것을 작동하게 관리 할 수 ​​없습니다 (트위터 같은)의 관심 모델 :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" 
    } 
{ 
    "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 .... 
    } 
} 

내가 조금 파고 여기에 문제가 비슷한이 있었다 발견 :

그러나 http://0.0.0.0:3008/api/NsUsers/5790bb3172e2738deb7532ee/followers 다음 에 결과를 얻을 수는 충돌이다 https://github.com/strongloop/loopback-datasource-juggler/pull/394

그러나 내가 루프 백을 필요로 보인다 2.10.1

: 데이터 소스 - 요술쟁이> = 2.18.0는하지만

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

을 실행 그것은 나에게 말한다

어쩌면 유일한 문제 (내가 최신 버전을 얻는가 ??), 아니면 내 모델이 잘못되었을 수도 있습니다.

답변

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" "외래 키를" "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