인프런 커뮤니티 질문&답변
작성자 없음
작성자 정보가 삭제된 글입니다.
createQueryBuilder
작성
·
494
답변 2
0
제로초(조현영)
지식공유자
데이터까지 가져오려면 innerJoinAndSelect를 쓰셔야 합니다.
innerJoinAndSelect('board.BoardToComments', 'commentsOfBoard')
3번째 인수는 조건인데 현재 상황에서 필터링하는 게 없으므로 따로 조건을 넣을 필요는 없습니다.
아아 해당하는 만약 board 에 대한 comments 들과 board 데이터를 가져와야한다하면
그 해당하는 board 를 알기위해 3번째 인수에 조건을 걸어줘야하죠?

1. 제로초님이 네이밍 구성을 길게하라고해서 길게 적을려고 하는데 저기서 네이밍이라던지 좀더 수정해야될게 뭐가있을까요 ?
2. async 에서 return 타입은 무엇으로 하시나여 ???
제로초(조현영)
지식공유자
아뇨. boardId 조건은 where에 적는 겁니다. commentsOfBoard의 BoardId는 전부 해당 board의 아이디라서 의미가 없습니다.
저라면 BoardToComments 대신에 그냥 Comments 했을 것 같습니다(Entity쪽 수정) 그래야 board.Comments로 자연스럽습니다.
commentsOfBoard도 그냥 comments만 쓰고요. 읽을 때 중복없이 자연스러운게 좋습니다.
return 타입은 알아서 추론돼서 직접 적으실 필요 없습니다(getManyAndCount의 리턴타입).










1. 3번째 인수에 조건을 거는 것은 이미 join한 후에 다시 조건을 걸어 필터링하는 것이라고 보시면 됩니다. 그래서 board에 comment를 조인한 후 boardId로 필터링하는 게 의미가 없습니다. comment의 boardid는 전부다 같은 boardId거든요.
2. service 인자는 타입추론이 아예 안 됩니다. return은 타입추론이 됩니다.