• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

데이터베이스 다대다 관계 연결 질문입니다

20.05.02 03:06 작성 조회수 235

0

await aaa.addfollowings(2)를 통해서 팔로우를 연결하려고 할때 마다

typeerror: aaa.addfollowings is not a function이라고 나와요..

어떻게해야 할까요?

답변 4

·

답변을 작성해보세요.

0

한영탁님의 프로필

한영탁

질문자

2020.05.02

아 follow테이블이 있었어요!!! 제가 as랑 헷갈렸나봐요..

그리고 Follow 대문자로 하니깐 바로 저장이 되었습니다 감사합니다!!

주말이신데 알려주셔서 감사합니다

0

워크벤치에 follow 테이블이 존재하지 않나요? through: follow이기 때문에 테이블은 follow 하나입니다.

addFollowings 대문자는 안 되나요?

0

한영탁님의 프로필

한영탁

질문자

2020.05.02

주말인데도 답변 달아주셔서 감사합니다

네 belongsTo를 각각 추가했고 as, foreignKey도 각각 추가했습니다.

id는 foreignKey로 속성을 주었습니다.

db.user.belongsToMany(db.user,{through:"follow",as:"followers", foreignKey: 'followingid'});
db.user.belongsToMany(db.user,{through:"follow",as:"followings", foreignKey: 'followerid'});
// 위에 부분은 db.user테이블 부분이고 밑에 부분이 서버 부분입니다
//id 7,2 둘다 존재하고 있는 값입니다.
app.post("/follow",async (req,res)=>{
console.log(req.body);
try {
const aaa = await db.user.findOne({
where:{id:7}
});
await aaa.addfollowings(2)
const testfollow = await db.user.findAll({
where:{username:young},
include:{
model:db.user,
as: "followings"
}
})
res.status(200).json(testfollow)
}catch(e){
console.log(e);
}
})

 그런데 자꾸 addfollowings가 존재하지 않는 함수라고 나옵니다

1. 왜 저 함수가 존재하지 않는 함수라고  나올까요?

2. 그리고 만약 저장이 된다면 followings, follows테이블은 저장된 값을 어디서 확인이 가능할까요? mysql에서는 user테이블에 따로 표시도 없고 as 로 만든 테이블은 보이지도 않고 워크벤치에서는 포린키로 지정됐다만 확인이 가능합니다

알려주시면 감사하겠습니다

0

aaa의 모델에 belongsToMany 추가하셨나요?

aaa를 어떻게 가저오섰는지 보여주셔야 합니다.