jm_p_op

1:1, 1:m, m:n field Model&findAll 본문

Node.js/Express

1:1, 1:m, m:n field Model&findAll

jm_p_op 2024. 4. 30. 09:34

1:1, 1:m in PK Field

  • hasOne/hasMany( FK-Field,{ 칼럼 설정})
  • 칼럼 설정
{foreignKey: 'FK의 칼럼명',
as: '변수로 쓸것',
allowNull 등등 설정 가능}

1:1, 1:m in FK Field

  • hasOne/hasMany( PK-Field,{ 칼럼 설정})
  • 칼럼 설정
{foreignKey: 'PK의 칼럼으로 쓸것',
allowNull 등등 설정 가능}

 

m:n Field

  • 중간의  field의 model 생성
  •  양쪽에 belongsToMany()생성
this.belongsToMany(
        반대모델,{
          through:중간모델,
          foreignKey:중간모델에서의 현 모델 칼럼,
        }
      )

탐색

const result1 = User.findAll({attributes:[User의 볼 속성들],
    include:{
        model:FK모델(belongTo에 있는것),
        through: {
            attributes: [중간 모델의의 속성깂, 빈리스트면 중간필드값 안보여준다],
          },
        include:{2중데이터이면 위처럼 사용}
    },
})