인프런 커뮤니티 질문&답변
include where
작성
·
222
0
강의 도중에 둘의 차이점을 말씀하셨는데 잘 이해가 가질 않습니다.
제로초님 노드 교과서를 보는데도 이해가 잘 안되네요 ㅠ
1번 코드를 보면 post들에 대해서 where로 바로 id 를 특정해서 post를 가져오는 것으로 이해를 했습니다. 그런데 그렇게 따지고 보면 2번에서도 hashtag로 모든 post들 사이에서 해당하는 경우를 where로 같은 위치에서 특정해도 되는 것 아닌가요? 무엇을 잘 구별해야 한다는 말씀이신지 이해가 안갑니다.
1.
router.get('/:id/posts', async (req, res, next) => {
try {
const posts = await db.Post.findAll({
where: {
UserId: parseInt(req.params.id, 10),
RetweetId: null,
},
include: [{
model: db.User,
attributes: ['id', 'nickname'],
}
2.
router.get('/:tag', async (req, res, next) => {
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 바깥에 쓸 때랑을 구분하셔야 한다는 의미였던 것 같습니다.





