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

Inpa Skyrim님의 프로필 이미지
Inpa Skyrim

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

팔로잉, 팔로워 구현하기

시퀄라이즈 문법 질문 있습니다.

작성

·

109

0

// 생성
const user = await User.findOne({ 옵션 }); // 참조 관계에 부합한 유저를 선택하고
const comment = await Comment.create({ 옵션 }); // 데이터를 comment테이블에 넣고

await user.addComment(comment); // user와 참조된 외래키를 comment에 add 한다. 

이렇게 이해하면 될까요?

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

마지막 줄은 user의 외래키를 해당 comment row에 update한다고 생각하시면 됩니다.

Inpa Skyrim님의 프로필 이미지
Inpa Skyrim
질문자

안녕하세요 좀 지난 질문입니다만 다시 질문 드립니다.

애초에 테이블 관계가 강력하게 맺어져있는데, 
애초에 관계맺어져있는 테이블에 insert를 하려면 제약 조건에 맞춰서 값을 널어야 하는데,

굳이 또 외래키 update를 해야 하나요?

아니면 이게 ORM의 특징이라고 보면 되나요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

comment.create할 때 userId를 넣으시면 밑에 addCommemt  안 하실 수 있습니다.

쿼리를 한 번 더 날리긴 하지만 표현력은 세줄로 적는 방식이 보기좋긴합니디

Inpa Skyrim님의 프로필 이미지
Inpa Skyrim
질문자

모델에서 외래키가 not null 로 되어있는데, userid를 안넣고 create할수 있다는 말씀이신가요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

아뇨 넣어야합니다. 두 번째 줄에서 안 넣으신걸로 이해했는데요. 넣었다면 애초에 세번째 줄은 필요없습니다

Inpa Skyrim님의 프로필 이미지
Inpa Skyrim

작성한 질문수

질문하기