본문 바로가기

Laravel Blog

[Back] 게시글 좋아요 기능 만들기 - 2. 데이터베이스 설계

반응형

 

안녕하세요 주갬입니다~!

 

게시글 좋아요 기능을 이어서 포스팅 하도록 하겠습니다. 오늘은 데이터베이스 구성에 대한 설명입니다.

 

 

저는 좋아요 기능 관련 테이블의 컬럼을 다음과 같이 구성했습니다.

 

id는 auto_increment 컬럼으로, 인덱스값으로 사용됩니다.

board_no는 게시글의 id값을 저장합니다.

user는 현재 로그인하고 있는 사용자의 id값을 저장합니다.

like_no, dislike_no, check에 대한 설명은 밑에 상황별로 나누어 자세히 설명드리겠습니다.

 


1.  로그인 후,  페이지에 처음 들어가 아직 좋아요 싫어요를 누른 적이 없다면

ajax를 이용해 $(document).ready()에서 row를 생성해줍니다. -> 이 부분은 수정이 필요

 

1. 최초로 좋아요 / 싫어요를 선택

                  like_no += 1 , check += 1                                        disllike_no += 1, check += 1

 

 

좋아요(싫어요)가 최초로 선택되면 like_no에 +1을 해주어 카운팅을 해주고,

선택이 이미 되었다는 것을 표시해주기 위해 check에도 +1을 해줍니다.

 

 

2. 좋아요 / 싫어요 선택 이후 다른 방향으로 선택 변경

최종 선택이 like, 현재 선택이 dislike :

dislike의 check가 1이면 (이미 선택이 되어있던 상태이면), 

dislike_no를 -1, like_no를 +1 해줍니다.

 

최종 선택이 dislike, 현재 선택이 like :

like의 check가 1이면 (이미 선택이 되어있던 상태이면), 

like_no를 -1, dislike_no를 +1 해줍니다.

 

//취소기능?

 


 

다음과 같이 데이터베이스의 스키마를 구성해보았습니다.

 

 

다음 글에서 위의 스키마대로 데이터베이스를 생성하고 그 외 백단 작업도 진행하도록 하겠습니다.

 

 

반응형