티스토리 뷰

반응형
Sequelize include문에 order 추가하기
Sequelize include문에 order 추가하기

 

요즘 간단한 API를 개발하고 있는데 두 테이블이 sourcekey와 foreignkey로 연결되어있다. 이를 연결하여 sequelize 구문을 동작시키는데 이 연결 메소드가 여러가지라는 것을 이번에 알게되어 정리한다.

Sequelize에서 belongsTo, hasMany, hasOne 데이터베이스에서 관계를 표현하는 방법을 나타내는 Sequelize의 메소드이다. 각각의 메소드는 다음과 같은 역할을 한다

belongsTo

  • 다른 모델에 속하는 관계를 정의
  • 예를 들어, “A 모델은 B 모델에 속한다”와 같은 관계를 설정할 때 사용

아래 예시는 Post 모델이 User 모델에 속하는 관계를 설정

Post.belongsTo(User, { foreignKey: 'userId' })

hasMany

  • 한 모델이 다른 모델을 여러 개 가질 수 있는 관계를 정의
  • 예를 들어, “A 모델은 여러 개의 B 모델을 가질 수 있다”와 같은 관계를 설정할 때 사용

아래 예시는 User 모델이 여러 개의 Post 모델을 가질 수 있는 관계를 설정

User.hasMany(Post, { foreignKey: 'userId' })

hasOne

  • 한 모델이 다른 모델을 하나만 가질 수 있는 관계를 정의
  • 예를 들어, “A 모델은 하나의 B 모델을 가질 수 있다”와 같은 관계를 설정할 때 사용

아래 예시는 User 모델이 하나의 Profile 모델을 가질 수 있는 관계를 설정

User.hasOne(Profile, { foreignKey: 'userId' })
 

요약하면,

belongsTo는 다른 모델에 속하는 관계를 설정하고,

hasMany는 여러 개의 관련 모델을 가질 수 있는 관계를 설정하며,

hasOne은 하나의 관련 모델을 가질 수 있는 관계를 설정한다

 

반응형
Total
Today
Yesterday
반응형