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

andrewlee님의 프로필 이미지
andrewlee

작성한 질문수

React로 NodeBird SNS 만들기

6-4. 해시태그 검색, 유저 정보 라우터 만들기

include where

작성

·

183

0

강의 도중에 둘의 차이점을 말씀하셨는데 잘 이해가 가질 않습니다. 

제로초님 노드 교과서를 보는데도 이해가 잘 안되네요 ㅠ 

 

1번 코드를 보면 post들에 대해서 where로 바로 id 를 특정해서 post를 가져오는 것으로 이해를 했습니다. 그런데 그렇게 따지고 보면 2번에서도 hashtag로 모든 post들 사이에서 해당하는 경우를 where로 같은 위치에서 특정해도 되는 것 아닌가요? 무엇을 잘 구별해야 한다는 말씀이신지 이해가 안갑니다. 

1.


router.get('/:id/posts'async (reqresnext=> {
  try {
    const posts = await db.Post.findAll({
      where: {
        UserId: parseInt(req.params.id10),
        RetweetId: null,
      },
      include: [{
        model: db.User,
        attributes: ['id''nickname'],
     }

2. 


router.get('/:tag'async (reqresnext=> {
  try {
    const posts = await db.Post.findAll({
      include: [{
        model: db.Hashtag,
        where: { name: decodeURIComponent(req.params.tag) },
      }, {
        model: db.User,
        attributes: ['id''nickname'],
     },

답변 1

0

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

where의 위치를 말씀드린 것 같습니다. where를 include 안에 쓸 때랑 include 바깥에 쓸 때랑을 구분하셔야 한다는 의미였던 것 같습니다.

andrewlee님의 프로필 이미지
andrewlee

작성한 질문수

질문하기