작성
·
510
0
안녕하세요.
routes/index.js에서
const express = require('express');
const { User, Domain } = require('../models');
const router = express.Router();
router.get('/', (req, res, next) => {
User.find({
where: { id: req.user && req.user.id },
include: { model: Domain },
})
.then((user) => {
res.render('login', {
user,
loginError: req.flash('loginError'),
domains: user && user.domains,
});
})
.catch((error) => {
console.error(error);
next(error);
});
});
module.exports = router;
이와 같이 해주었고,
models/index.js
db.User = require('./user')(sequelize, Sequelize);
이렇게 해주었는데 아래와 같은 에러가 납니다.
GET / 500 15.796 ms - 2992
TypeError: User.find is not a function
이유를 못찾겠어요 ㅜㅜ 도와주세요ㅜㅜ
답변 4
2
0
0
models/user.js
module.exports = (sequelize, DataTypes) => ( sequelize.define('user', {
email: {
type: DataTypes.STRING(40),
allowNull: false,
unique: true,
},
nickname: {
type: DataTypes.STRING(15),
allowNull: false,
},
password: {
type: DataTypes.STRING(100),
allowNull: true,
},
provider: {
type: DataTypes.STRING(10),
allowNull: false,
defaultValue: 'local',
},
snsId: {
type: DataTypes.STRING(30),
allowNull: true,
},
}, {
timestamps: true,
paranoid: true,
charset: 'utf8',
collate: 'utf8_general_ci',
})
);
model/index.js
db.User = require('./user')(sequelize, Sequelize);
이렇게 하였습니다.
0
./model/users.js에서 return sequelize.define 되어있나요?
또는 ./model/index.js에서 db.User = require('./user')(sequelize, Sequelize) 되어있나요?