강의

멘토링

커뮤니티

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

inflearn2님의 프로필 이미지
inflearn2

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

db.findAll 조인(include) 질문 드립니다.

작성

·

224

0

1:n 관계의 두 테이블이 있습니다. 1테이블에hasMany 설정을 하고 n테이블을 적용, 그리고 as 설정을 했습니다.

그런데 라우터에서 두 테이블을 조인하려고 include를 하니 You must use the 'as' keyword to specify the alias within your include statement. 에러가 발생하더군요...

그래서 아래처럼 as 설정을 넣으니 에러가 안나는데 제로초님 코드를 보면 as속성을 넣지 않았는데 전 왜 에러가 나는건가요?

document.associate = (db) => {
       db.Document.hasMany(db.Image, { as: 'image'foreignKey: 'id' })
   }
const documentData = await db.Document.findAll({
            include: [{
                model: db.Image,
                as: 'image' <-- 이부분을 제거하면 에러가 발생
            }]
       })

답변 1

1

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

hasMany랑 belongsTo 할 때 as를 설정하셔서 그런 것 같습니다. 그 때 as를 넣으면 include할때도 계속 넣어야 합니다.

저는 넣지 않아서 안 넣어도 되고요.

inflearn2님의 프로필 이미지
inflearn2

작성한 질문수

질문하기