• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

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

22.12.22 21:07 작성 조회수 200

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

안녕하세요!

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

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

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

감사합니다!

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