인프런 커뮤니티 질문&답변
시퀄라이즈로 데이터를 가져오는 문제입니다.
해결된 질문
작성
·
330
0
app.post("/userscomment", async (req,res)=>{
console.log("--------------------")
try{
const aaa= await db.user.findAll({
where:{id:req.body.id},
attributes:["id"]
})
console.log("@@@@@@@",aaa)
if(aaa){
const bbb = await aaa.getFollowers({include:[{model:db.comments}]})
if(bbb){
res.status(200).json(bbb)
}else{
res.status(404).send("다시")
}
}else{
res.status(404).send("다시")
}
} catch(e){console.log(e)}
강의에서와 같은 방식으로 associate를 작성했습니다
그리고 as는 followers라고 만들었습니다
그래서 getfollowers라는 함수로 유저의 팔로우를 가져오고 그 팔로우의 커맨츠도(작성글)
TypeError: aaa.getFollowers is not a function
at /home/gksdudxkr/junier/index.js:148:31
라는 에러가 나옵니다
어떻게 해야할까요?
답변 7
1
0
0
한영탁
질문자
아 제가 findAll로 해서 안되는 거였군요
findOne로 해서 개인의 정보를 가져오고
그 정보로 follow를 가져오니 각 커맨트들도 같이 가져와졌습니다
감사합니다!!!
제로초님 지금은 3단계에 걸쳐서 가져오는 것을 구현했는데요 단계가 계속 늘어나거나 지금 정보보다 더 추가로 가져오게 하려면 그 후에는 어떡해야 할지 감이 안잡힙니다
혹시 관련 설명이 들어가 있는 사이트나 주소 혹시 가지고 계실까요?
0
제로초(조현영)
지식공유자
아 이제 알았네요 . findAll하셨으니 aaa는 배열입니다. 예를 들어 aaa === [유저1, 유저2]
각각의 유저1, 유저2에서는 getFollowers를 할 수 있지만 aaa 배열 자체에서는 안 됩니다.
0
0
한영탁
질문자
user.associate = (db) =>{
db.user.hasMany(db.comments);
db.user.belongsToMany(db.comments,{through:"like", as : "liker"});
db.user.belongsToMany(db.user,{through:"Follow",as:"Followers", foreignKey: 'Followingid'});
db.user.belongsToMany(db.user,{through:"Follow",as:"Followings", foreignKey: 'Followerid'});
db.user.hasMany(db.meeting_popup)
};
대문자로 작성을 해주었습니다
현재 다른 addFollowers는 작동을 합니다
그런데 getFollowers만 함수를 찾을 수 없다고 계속 나오고 있습니다
그리고 데이터베이스를 지웠다가 다시 만들었습니다
0





