mysql - Sequelize 中的外键
问题描述
我有三个表(模型):用户、偏好、想法。用户有一个“用户名”列作为主键,我想将“用户名”作为外键添加到其他表。在sequelize中是如何完成的?我是sequelize的菜鸟,所以请回答这个问题。hasMany,belongsTo 让我感到困惑。如果有人回答这个问题,那将非常有帮助。
解决方案
对于两个对象:User和Preference,您可以指定如下关系:
const User = sequelize.define('User', {
username: Sequelize.STRING,
});
const Preference = sequelize.define('Preference', {
id: Sequelize.INTEGER,
//Below, 'users' refer to the table name and 'username' is the primary key in the 'users' table
user: {
type: Sequelize.STRING,
references: {
model: 'users',
key: 'username',
}
}
});
User.hasMany(Preference); // Add one to many relationship
我建议阅读以下文档以更好地理解:
推荐阅读
- matlab - 我们如何在 MATLAB 中分离传入的实时数据?
- npm - 由于无法解析,无法启动会话存储(错误 500)
- c++ - 如何通过将矢量元素传递给函数来更改它们
- dataframe - 如何从 Pyspark 数据框列中选择一些行并将其添加到新数据框中?
- lua - How can I write simple Lua code for Logitech mouse?
- android - 如何在android中对其他应用程序执行触摸手势
- android - 删除卡片视图 - Firebaserecycleradapter
- java - setImageBitmap() 比 image.setImageDrawable()、image.setImageResource() 慢
- lua - 在 LUA 中调用 Rest api 端点
- docker - 使用 traefik 时 Web 应用程序无法在 swarm 模式下工作