강의

멘토링

커뮤니티

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

반가우면반갑다고해님의 프로필 이미지
반가우면반갑다고해

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)

Vote Entity

@Column({nullable:true}) postId:number; 이부분 질문있습니다.

작성

·

284

0

 

import { Column, Entity, JoinColumn, ManyToMany, ManyToOne } from "typeorm";
import BaseEntity from './Entity';
import Post from "./Post";
import { User } from "./User";


@Entity('votes')
export default class Vote extends BaseEntity {

@Column()
value: number;

@ManyToOne(()=>User)
@JoinColumn({name:'username',referencedColumnName:'username'})
user:User

@Column()
username:string;

@Column({nullable:true})
postId:number;

@ManyToMany(()=>Post)
post:Post;


@Column({nullable:true})
commentId:number

@ManyToOne(()=>Comment)
comment: Comment






}

위의 코드에서
@Column({nullable:true})
postId:number;

이 부분에서 처음에 추천을 누르면 postId는 1이되고
추천눌렀던 게시글을 비추천누르면 postId는 다시 0이되고, 혹은 0에서 -1이 될 수 도 있으니까 null값을 허용해준건가요?

답변 1

1

John Ahn님의 프로필 이미지
John Ahn
지식공유자

안녕하세요!

아예 누르기 전에 값을 위해서 null을 허용해 줬습니다!

이 Vote이 comment를 위한 것이라면 post는 null이 되겠죠!

또 반대상황에서는 comment가 null이 되고요!

감사합니다!

아 이해했습니다.
포스트의 추천 혹은 비추천을 눌렀다면 postId가 있을테니깐요, 그 반대로 댓글의 추천,비추천을 눌렀다면 postid가아닌, commentid가 담겨있겠군요

반가우면반갑다고해님의 프로필 이미지
반가우면반갑다고해

작성한 질문수

질문하기