sequelize.js - 关联模型 1:M SequelizeDatabaseError: column [Model].id 不存在
问题描述
所以我有两张表,一张是用户列表,另一张是关联帐户。例如,一个用户可能有两个帐户。此外,多个用户可能与重叠帐户相关联。
我有一个belongsTo 和一个hasMany,就像我过去所做的那样。
但是当我尝试获取关联的帐户时,我收到一条错误消息,指出找不到 Accounts.id。
协会:
Accounts.belongsTo(Users,{foreignKey: 'uid'})
Users.hasMany(Accounts, {foreignKey: 'uid'})
uid 是 User 表上的主键。Accounts 表上没有主键。
楷模:
用户
db.define('users', {
uid: {
type: Sequelize.BIGINT,
primaryKey: true
},
login_count: {
type: Sequelize.INTEGER,
defaultValue: 0
},
approved: {
type: Sequelize.BOOLEAN,
defaultValue: false
},
last_login_ip: {
type: Sequelize.INET,
}
});
账户:
db.define('accounts', {
uid: {
type: Sequelize.BIGINT
},
account_num: {
type: Sequelize.BIGINT
},
token: {
type: Sequelize.STRING
}
});
解决方案
必须使用 Junction/Through 表
属于ToMany
https://sequelize.org/master/manual/assocs.html#many-to-many-relationships
推荐阅读
- excel - 使用错误处理根据列表框值删除工作表
- asp.net-mvc-4 - 验证消息未显示 .Net MVC
- record - 当 Record 类型在 Coq 中有依赖的绑定器时,构造一个新的记录实例
- python - 使用神经网络的传播模型(我是初学者)
- php - 如何在php中包含“<”符号的dom解析器html表
- laravel - 在 laravel 图表中找不到类 'ConsoleTVs\Charts\Facades\Charts'
- python-3.x - For 循环和 if 条件
- python-3.x - 根据其他列的相对大小为列分配值
- java - 在java中使用正则表达式计算文件
- java - Java BMICalculator 无法按预期工作