• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

sequelize 연결 시 테이블간 관계에 대한 질문입니다.

21.02.18 18:12 작성 조회수 159

0

복습을 하던 도중 궁금한 점이 생겨서 질문 드립니다.

현재 User, Ask, Answer 테이블을 만들고 관계를 설정하려는 상황입니다.

하나의 Ask(일종의 메세지)는 한 명의 User에게 속해 있고, User는 여러개의 Ask를 받을 수 있습니다.

하나의 Ask에는 하나의 Answer가(일종의 댓글) 달릴 수 있습니다.

User는 당연히 여러개의 Ask를 가지고 또 여러개의 Answer를 갖습니다.

이 관계를 아래와 같이 작성했는데, 어떤 값도 외래키로 각각의 테이블에  들어오지 않아서 질문 드립니다.

// USER
db.User.hasMany(db.Ask);
db.User.hasMany(db.Answer);
// ASK
db.Ask.belongsTo(db.User);
db.Ask.belongsTo(db.Answer);
// ANSWER
db.Answer.belongsTo(db.User);
db.Answer.belongsTo(db.Ask);

답변 6

·

답변을 작성해보세요.

1

익명이지만 내부적으로는 누군지 추적하려면 저장해야죠.

1

ask와 answer의 관계에서 ask가 hasOne이고 answer가 belongsTo입니다.

설계가 좀 이상하긴 한게 하나의 ask가 있다면 ask를 작성한 사람 아이디와 ask의 대상이 되는 사람 아이디를 둘 다 저장해야하지 않나요?

0

hyese ch님의 프로필

hyese ch

질문자

2021.02.18

선생님, 익명인 경우에도 정보를 저장해야 할까요?

0

아, 익명이면 빼셔도 됩니다.

0

hyese ch님의 프로필

hyese ch

질문자

2021.02.18

ask를 작성한 사람이 비회원이거나 익명인 경우도 따로 테이블을 만들어야 하나요? 
ask의 대상이 되는 사람 아이디는 db.User.belongsTo(db.Ask);

로 해야하나요..?

0

hyese ch님의 프로필

hyese ch

질문자

2021.02.18

감사합니다!