inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] React로 NodeBird SNS 만들기

게시글 좋아요

좋아요 기능 구현

331

GI P

작성한 질문수 16

0

제로초님의 코드대로 한다라고 하면 게시물 데이터를 받을때 프론트쪽에 postId와 userId를 보내고 프론트에서 계산을 해야하던데 백엔드에서 이 게시물을 로그인한 유저가 좋아요를 눌럿는지 안눌엇는지에 대한 데이터를 바로 내주고 싶어서 이렇게 짜봣는데 자꾸 에러가 납니다.

게시물에 대한 코드는 이거구요

const express = require("express")
const {
    Post,
    Sequelize,
    User,
    Like
} = require("../models")
const router = express.Router()

router.get("/",async(req,res,next)=>{
    try {
        const posts = await Post.findAll({
            // where:{
            //     id:lastId
            // },
            limit: 10,
            // DESC 최신순 ASC 오래된순
            order:[["createdAt","DESC"]],
            // 다른사람도 좋아요를 햇는지를 보여주는데 의미 없어보임
            // include: [{
            //     model: User, // 좋아요 누른 사람
            //     as: 'Liked',
            //     required: false,
            //     attributes: ['id'],
            //     through: {
            //         attributes: []
            //     },
            // }],
            
            attributes:[
                "id",
                "content",
                "title",
                "createdAt",
                // 만든사람
                [Sequelize.literal("(SELECT `nickName` FROM `Users` WHERE `Users`.`id` = `Post`.`userId`)"), "nickName"],
                // 이미지 소스
                [Sequelize.literal("(SELECT `src` FROM `Images` WHERE `Images`.`postId` = `Post`.`id`)"), "src"],
                [
                    Sequelize.literal(`
                        (SELECT CASE WHEN COUNT(*)
                        FROM Liked
                        WHERE Liked.PostId = Post.id
                        AND Liked.UserId =: userId
                        END) AS isLiked
                    `),
                    "isLiked"
                ],
            ],
            raw: true,
        })

        res.status(201).send(posts)
    } catch (error) {
        console.error(error)
        next(error)
    }
})



module.exports = router


에러는 이렇게 나고 있습니다.

sqlState: '42000',
    sqlMessage: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM Liked\n" +
      '                        WHERE Liked.PostId = Post.id\n' +
      "                ' at line 3",


대체 뭐가 문제인건지도 감이 안잡히네요 ㅠㅠ

react redux node.js express next.js

답변 1

0

제로초(조현영)

테이블명, 컬럼명 키워드를 `로 감싸보세요. 현재 템플릿 리터럴이므로

\`

를 사용해서 감싸야 할 것 같네요.

넥스트 버젼 질문

0

78

2

로그인시 401 Unauthorized 오류가 뜹니다

0

89

1

무한 스크롤 중 스크롤 튐 현상

0

175

1

특정 페이지 접근을 막고 싶을 때

0

103

2

createGlobalStyle의 위치와 영향범위

0

96

2

인라인 스타일 리렌더링 관련

0

91

2

vsc 에서 npm init 설치시 오류

0

146

2

nextjs 15버전 사용 가능할까요?

0

158

1

화면 새로고침 문의

0

121

1

RTK에서 draft, state 차이가 있나요?

0

153

2

Next 14 사용해도 될까요?

0

452

1

next, node 버전 / 폴더 구조 질문 드립니다.

0

349

1

url 오류 질문있습니다

0

211

1

ssh xxxxx로 우분투에 들어가려니까 port 22: Connection timed out

0

373

1

sudo certbot --nginx 에러

0

1275

2

Minified React error 콘솔에러 (hydrate)

0

470

1

카카오 공유했을 때 이전에 작성했던 글이 나오는 버그

0

247

1

프론트서버 배포 후 EADDRINUSE에러 발생

0

327

1

npm run build 에러

0

518

1

front 서버 npm run build 중에 발생한 에러들

0

382

1

서버 실행하고 브라우저로 들어갔을때 404에러

0

338

2

css 서버사이드 랜더링이 적용되지 않아서 문의 드립니다.

0

288

1

팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.

0

239

2

해시태그 검색에서 throttle에 관해 질문있습니다.

0

201

1