node.js - 如何连接两个表?- 无法读取未定义的属性“getTableName”
问题描述
用户模型文件
'use strict';
module.exports = (sequelize, DataTypes) => {
const user = sequelize.define('user', {
"access_role_id":DataTypes.INTEGER,
"user_type":{
type: DataTypes.ENUM,
values: ['A', 'V', 'U']
},
"login_access":{
type: DataTypes.ENUM,
values: ['APP', 'WEB', 'BOTH']
},
"username": DataTypes.STRING,
"email": DataTypes.STRING,
"updated_at":DataTypes.DATE,
"created_at":DataTypes.DATE,
}, {
"timestamps": false,
"createdAt": false,
'updatedAt': false,
"underscored": true,
"freezeTableName": false,
});
user.associate = function(models) {
// associations can be defined here
models.user.belongsTo(models.product, {targetKey: 'id',foreignKey: 'created_by'});
};
return user;
};
用户控制器文件
const dbConfig = require( '../../../db/models/index');
let users =require('../../../db/models/user')(dbConfig.sequelizeDB,dbConfig.Sequelize);
module.exports = {
// GET /customer/:id
getCustomer: function(req, res, next) {
users.findAll({
include: [{
model: users.product,
}]
}).then(function (stores) {
if (stores.length === 0) {
res.json('There are no stores in the database');
}
res.json(stores);
});
},
};
我无法获取product
表格数据。它总是显示错误:
未处理的拒绝类型错误:无法读取未定义的属性“getTableName”。
为什么 product
在用户模型中未获取表?如何通过用户模型访问此产品表数据?
解决方案
将您的用户控制器文件更新为
const dbConfig = require( '../../../db/models/index');
let users =require('../../../db/models/user')(dbConfig.sequelizeDB,dbConfig.Sequelize);
let product=require('../../../db/models/product')(dbConfig.sequelizeDB,dbConfig.Sequelize);
module.exports = {
// GET /customer/:id
getCustomer: function(req, res, next) {
users.findAll({
include: [{
model: product,
}]
}).then(function (stores) {
if (stores.length === 0) {
res.json('There are no stores in the database');
}
res.json(stores);
});
},
};
推荐阅读
- java - 尝试在一个活动中写一些东西并在下一个活动中阅读它
- html - td 内的图像是 td 的高度
- ssl - 带有 SSL 的 Kafka - 写入主题 - 授权错误
- ios - 从 JSON 响应中解析两个不同对象的数组
- excel - 提取多个表达式
- python - Flask SERVER_NAME 设置最佳实践
- postgresql - Artemis ActiveMQ 无法连接到 Postgres
- python - 使用 tweepy 从 Twitter 获取用户 ID 时出错?
- java - NoClassDefFoundError javax/servlet/Registration$Dynamic with spring boot + spring boot legacy
- python - “msvcrt.getch”之后的“打印”不起作用