-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
React Nodebird때 만들었던 Follow기능(=many to many)질문 입니다 (Sequelize vs Typeorm)
21.08.01 21:53 작성 조회수 324
0
안녕하세요? 제로초님
노드버드 강의를 완강하고, 어느새 sleact 강좌도 마무리 시점이 와가네요. 항상 감사합니다
이번 typeorm관계설정 강의를 듣다가 궁금한점이 생겼는데 도저히 해결이 되지않아 이렇게 질문을 드립니다.
노드버드 강좌에서 팔로워/팔로이 기능을 model에서 정의할때 Sequelize로 아래와 같이 belongsToMany에 as 와 through를 이용해서 설정했었는데요,
// 관계 설정
User.associate = (db) => {
...
db.User.belongsToMany(db.User, { through: 'Follow', as: 'Followers', foreignKey: 'followingId' });
db.User.belongsToMany(db.User, { through: 'Follow', as: 'Followings', foreignKey: 'followerId' }); // 같은 테이블에서 다대다 관계일때는 foreignKey넣어주어야 됨
// WHY? : 자바스크립트 객체에서 구별하는 이름이 as이고, DB에서는 foreignKey를 이용해 구별한다.
};
Typeorm에서 이와같이 user대user 관계에서 팔로우 기능을 구현해보려고 스스로 학습중인데, 검색해도 나오지를 않고 어떻게 해야할지 감이 안잡히네요...
- Typeorm에는 Sequelize처럼 이렇게 편리한 기능이 없는것인거겠죠? ㅠ
- 만약 Typeorm에서 제공하는 as 나 Through기능이 없다면, Typeorm에서는 노드버드에서와 같은 팔로워/팔로이 기능을 어떻게 구현해야할지 궁금합니다!
답변을 작성해보세요.
0
조현영
지식공유자2021.08.01
typeorm에서는 ManyToMany로 User Entity에 관계 설정을 하셔야 합니다. 강좌에서 ManyToMany 부분 언급을 했을텐데요?
답변 1