강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

min-sam kim님의 프로필 이미지
min-sam kim

작성한 질문수

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

Cannot query across one-to-many for property WorkspaceMembers

작성

·

1K

0

안녕하세요 typeorm find 에서 서브 쿼리 사용시 다음과 같은 오류가 발생합니다.
 
- 1 ------ 
return this
.workspacesRepository
.createQueryBuilder('workspaces')
.innerJoin(
'workspaces.WorkspaceMembers',
'workspacemembers',
'workspacemembers.UserId=:id',
{ id: myId },
)
.getMany();

- 2 -----
return this
.workspacesRepository.find({
where: {
WorkspaceMembers: [{ UserId: myId }],
},
});
오타나 다른 해결법이 있나 싶어서 찾아보고 수정해봤는데 안되고
1번 형식으로 하면 정상적으로 받아 오고, 2번 형식은 위에 있는 에러가 발생합니다.
2번 타입으로 사용하는 설정이나 해결법이 따로 있을까요?
소스 코드는 제가 한게 안되서 깃허브에 있는 소스 복사해서 다시 해도 같은 오류가 발생합니다.
 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

find에서는 저게 안 되는 걸로 알고 있씁니다.

WorkspaceMembers: { UserId: myId }, 도 안 되시는 거죠?
min-sam kim님의 프로필 이미지
min-sam kim
질문자

깃 허브 샘플 코드에 올라와 있어서 그런식으로 돌아갈 수 있는줄 알았습니다. 일단 createQueryBuilder로 진행하고 차차 알아가는걸로 해야 겠네요.

typeorm 사이트에 manyToMany 형식 나와 있는대로 해도 잘 안되더라구요.. 스택에 비슷한 문의나 답변도 없는거 같고.. 

혹시 다른 방법이 있으면 차후에라도 알려주시면 감사할것 같습니다. ^^

min-sam kim님의 프로필 이미지
min-sam kim

작성한 질문수

질문하기