Workspaces, Channels, Users 들간의 entity 에서 ManyToMany를 제거하는 방법
331
작성한 질문수 3
nest-typeorm 폴더에서 Workspaces, Channels, Users 들간의 entity 에서 ManyToMany 관계를 제거하고 OneToMany와 ManyToOne관계로 대신하는 코드가 있습니다. ManyToMany관계를 사용하지 않으려면 @ManyToMany 부분을 제거하고 field들만 남겨 놓으면 되나요?
답변 1
0
그냥 남겨두고 안 쓰면 됩니다. @ManyToMany를 지운다고 해서 테이블에 존재하는 다대다 관계가 사라지는게 아닙니다. 테이블에는 다대다 관계가 존재하지만 typeorm에서 안 쓸 뿐인 것이죠.
0
@ManyToMany(...)를 안써도 되는 거라면 지워도 되는 거 아닌가요? 한번 지워봤더니 에러가 납니다. 이 코드를 참고해 주시기 바랍니다.
async deserializeUser(userId: string, done: CallableFunction) {
return await this.usersRepository
.findOneOrFail({
where: { id: +userId },
select: ['id', 'email', 'nickname'],
relations: ['Workspaces'],
})
.then((user) => {
console.log('user', user);
done(null, user);
})
.catch((error) => done(error));
}다음의 부분에서 문제가 있어 보입니다.
relations: ['Workspaces'],Users 엔터티에서 Workspaces 릴레이션이 제거되었기 때문에 user.workspaces가
null이 됩니다. 해결책은 WorkspaceMembers 리포지터리에서 쿼리빌더로 로그인 유저가 참여하고 있는 workspace를 찾아서 user에 붙혀 주면 될 거 같습니다. 맞나요?
0
저기서 쓰고 있으니까 지우면 에러가 나는 거죠.
워크스페이스멤버에서 쿼리빌더로 하셔도 되고 유저에서 쿼리빌더로 워크스페이스멤버 워크스페이스 순으로 두 번 조인해서 해도 됩니다.
강의자료는 어디서 다운받나요?
0
119
4
질문 있습니다.
0
300
3
(강의 5:42 질문) providers를 통한 여러 개의 인스턴스 생성 & exports 통한 싱글톤 생성
0
154
2
코드 편집기 확장 프로그램
0
210
2
(질문)비밀 저장소에 접근하기 위한 인증 정보는 로컬 .env에 저장하는지?
0
148
2
(질문)외부 저장소를 통한 환경변수 불러오기 비동기 질문
0
171
3
로그인을 해도 LoggedInGuard쪽에서 false값이 나옵니다.
0
153
2
로그인방법이 고민됩니다.
0
191
2
yarn seed 명령어 실행 시 데이터 삽입 안됨
0
297
4
yarn run db:create 시에 발생하는 데코레이터 오류
0
244
2
npm run db:create 시에 발생하는 decorating 오류
0
235
2
RxJS 디버깅 질문 있습니다.
0
190
3
CacheManager에 대해 질문 있습니다.
0
176
2
로깅은 어떻게 하는게 효율적일까요?
0
226
1
CORS 질문 있습니다.
0
418
2
쿠키 옵션에 대해서 질문 있습니다.
0
185
2
로그아웃 요청이 403 forbidden 에러가 나는데 왜그런걸까요??
0
450
1
401 unauthorized문제
0
290
1
가드의 장점에 대해서 질문이 있습니다.
0
225
1
로그 관리에 대해 질문 있습니다.
0
253
2
CORS 에러 질문 있습니다.
0
319
2
배포 환경 DB 연결 질문 있습니다.
0
411
2
socket io 미 연결 문제 (nest & flutter)
1
1156
3
no elements in sequence 에러 관해서 질문이 있습니다.
0
456
1





