질문있습니다.
242
작성한 질문수 77
안녕하세요.
const oneUser = await User.findOne({
where: {id: data}
});
await oneUser.addLikers(req.body)
이런식으로 할려고 하는데 oneUser.addLikers not a function 이라는 알람이 뜨는데 무엇이 문제일까요?
답변 6
0
cannot read property 'addLikers' of null 동일하게 에러가 발생합니다.
//수정
static associate(db) { db.Post.belongsToMany(db.User, { through: 'Like', as: 'Likers',onDelete: 'cascade' }) // }
몇시간동안 보고있는데 어떤걸 봐야할지도 모르겠습니다.
애초에 테이블생성될때 잘못된건지...
어떨때 저 에러가 나는지 말씀해주시면 거기 위주로 한번보겠습니다.!!
0
// post .js
const DataTypes = require('sequelize');
const { Model } = DataTypes;
module.exports = class Post extends Model {
static init(sequelize) {
return super.init({
// id가 기본적으로 들어있다.
content: {
type: DataTypes.TEXT,
allowNull: false,
},
// RetweetId
}, {
modelName: 'Post',
tableName: 'posts',
charset: 'utf8mb4',
collate: 'utf8mb4_general_ci', // 이모티콘 저장
sequelize,
});
}
static associate(db) {
db.Post.belongsToMany(db.User, { through: 'Like', as: 'Liker',onDelete: 'cascade' }) // post.addLikers, post.removeLikers
}
};
//. user.js
const DataTypes = require('sequelize');
const { Model } = DataTypes;
module.exports = class User extends Model {
static init(sequelize) {
return super.init({
// id가 기본적으로 들어있다.
username:{
type: DataTypes.STRING(30),
allowNull: false,
},
nickname: {
type: DataTypes.STRING(30),
},
email: {
type: DataTypes.STRING(60), //
allowNull: false, // 필수
unique: true, // 고유한 값
},
password: {
type: DataTypes.STRING(200),
},
avatar: {
type: DataTypes.TEXT,
},
snsId: {
type: DataTypes.STRING(60)
},
provider: {
type: DataTypes.STRING(60)
}
},
{
modelName: 'User',
tableName: 'users',
charset: 'utf8',
collate: 'utf8_general_ci', // 한글 저장
sequelize,
});
}
static associate(db) {
db.User.belongsToMany(db.Post, {through: 'Like', as:"Liked", onDelete: 'cascade'});
}
};
// index.js
'use strict';
const Sequelize = require('sequelize');
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../config/config.js')[env];
const user = require('./user');
const post = require('./post');
const db = {};
let sequelize;
if (config.use_env_variable) {
sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
sequelize = new Sequelize(config.database, config.username, config.password, config);
}
// fs
// .readdirSync(__dirname)
// .filter(file => {
// return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
// })
// .forEach(file => {
// const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes);
// db[model.name] = model;
// });
db.User = user;
db.Post = post;
Object.keys(db).forEach(modelName => {
db[modelName].init(sequelize);
});
Object.keys(db).forEach(modelName => {
if (db[modelName].associate) {
db[modelName].associate(db);
}
});
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;
// routes xxx.js
// 연습으로 하는거라 양해부탁해요!!
Post.findOne({
where: { content: 1 }
})
.then((res) => {
res.addLikers(2)
}) // error
0
먼저 addLiker로 한 번 바꿔보시고요. 그래도 안 된다면 models/user.js 코드에 문제가 있을 확률이 높습니다. models/index.js랑 models/user.js 올려주시면 됩니다.
넥스트 버젼 질문
0
77
2
로그인시 401 Unauthorized 오류가 뜹니다
0
89
1
무한 스크롤 중 스크롤 튐 현상
0
175
1
특정 페이지 접근을 막고 싶을 때
0
103
2
createGlobalStyle의 위치와 영향범위
0
96
2
인라인 스타일 리렌더링 관련
0
91
2
vsc 에서 npm init 설치시 오류
0
146
2
nextjs 15버전 사용 가능할까요?
0
158
1
화면 새로고침 문의
0
121
1
RTK에서 draft, state 차이가 있나요?
0
153
2
Next 14 사용해도 될까요?
0
452
1
next, node 버전 / 폴더 구조 질문 드립니다.
0
349
1
url 오류 질문있습니다
0
211
1
ssh xxxxx로 우분투에 들어가려니까 port 22: Connection timed out
0
372
1
sudo certbot --nginx 에러
0
1274
2
Minified React error 콘솔에러 (hydrate)
0
470
1
카카오 공유했을 때 이전에 작성했던 글이 나오는 버그
0
247
1
프론트서버 배포 후 EADDRINUSE에러 발생
0
327
1
npm run build 에러
0
518
1
front 서버 npm run build 중에 발생한 에러들
0
381
1
서버 실행하고 브라우저로 들어갔을때 404에러
0
338
2
css 서버사이드 랜더링이 적용되지 않아서 문의 드립니다.
0
287
1
팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.
0
237
2
해시태그 검색에서 throttle에 관해 질문있습니다.
0
201
1





