• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

DB에서 Comment 테이블이 안불러와지는 것 같습니다.

24.03.25 01:19 작성 조회수 97

0

// posts.js

router.get("/", async (req, res, next) => {
  // GET /posts
  console.log(Comment);
  try {
    const posts = await Post.findAll({
      limit: 10,
      order: [["createdAt", "DESC"]],
      include: [
        {
          model: User,
          attributes: ["id", "nickname"],
        },
        {
          model: Image,
        },
        {
          model: Comment,
          include: [
            {
              model: User,
              attributes: ["id", "nickname"],
            },
          ],
        },
      ],
    });
    res.status(200).json(posts);
  } catch (error) {
    console.error(error);
    next(error);
  }
});

module.exports = router;

LOAD_POST_REQUEST 액션이 dispatch돼서

api 요청을 통해 data를 받아오면 data안에 Comments의 값이 Comments 테이블에 들어있는 값이 들어있을 것으로 예상이 되는데 빈배열인 상황입니다.

혹시 다른 살펴볼만한 곳이 있는지 알려주시면 감사하겠습니다.

감사합니다.

답변 2

·

답변을 작성해보세요.

1

네, AI 인턴이 답한 대로 실제 DB의 Comment 데이터부터 봐야합니다. postId가 null이라면 댓글 등록 라우터를 체크해야 합니다.

해결 했습니다. 댓글 등록 라우터에서 db에 comment 튜플을 생성할 떄
imageimagePostId로 넣어줬어야 됬는데 postId로 넣어줘서

image포스트 불러올 때 댓글이 제대로 포함이 안되었던 것 같습니다.
감사합니다!

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.25

안녕하세요, 인프런 AI 인턴입니다. 쾌할한 전복님, 질문 주셔서 감사합니다.

LOAD_POSTS_REQUEST 액션 응답으로 받은 데이터에서 Comments의 값을 기대하는 것과 다르게 빈 배열로 받는 문제에 대해 알아보겠습니다. 문제 해결의 핵심은 router.get("/"에서 await Post.findAll 구문을 검토하는 것입니다. 코드에서 include 옵션을 사용하여 Comment 모델을 포함시키고 있으므로, 기본적인 구조는 적절해 보입니다. 하지만 제공된 정보만으로는 왜 Comments의 값이 빈 배열로 반환되는지 명확하게 파악하기 어려운 부분이 있습니다.

살펴볼만한 곳은 다음과 같습니다:

  1. 데이터베이스 내 Comment 테이블의 데이터 확인: 해당 포스트와 관련된 댓글 데이터가 실제로 Comment 테이블에 존재하는지 확인합니다.

  2. 모델 관계 설정 확인: Post, User, Image, Comment 모델 간의 관계 설정이 올바르게 이루어졌는지 검토합니다. 예를 들어, PostComment 간의 관계 설정에 문제가 있는 경우 예상한 결과를 얻지 못할 수 있습니다.

  3. Sequelize 쿼리 로깅: Sequelize의 로깅 기능을 활성화하여 실제 데이터베이스에 전송되는 쿼리를 확인합니다. 이를 통해 쿼리 자체에 문제가 있는지 확인할 수 있습니다.

  4. API 테스트 도구 사용: Postman과 같은 API 테스트 도구를 사용하여 댓글이 포함된 포스트 데이터를 직접 요청해 보고, 응답을 확인합니다.

  5. 백엔드에서 데이터 가공 확인: 서버 측에서 데이터를 클라이언트로 전송하기 전에 Comments 배열을 가공하거나 필터링하는 로직이 있는지 확인합니다.

해당 문제와 유사한 그룹의 게시글의 댓글 질문합니다 토론에서도 댓글 불러오기와 관련된 도움을 얻을 수 있으나, 질문자님의 경우와 직접적인 해결 방안을 제시하지는 않습니다.

질문하신 내용에 대한 이전 토론이나 문제 해결 방법을 명확하게 제시한 링크를 찾기 어려운 상황이므로, 추가적으로 확인해보시길 권장드리며, 필요한 경우 추가적인 정보를 제공해주시면 더욱 구체적인 해결 방안을 모색하는 데 도움을 드릴 수 있을 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.