gpt4 book ai didi

sequelize.js - 如何在数据插入过程中正确定义Sequelize关联

转载 作者:行者123 更新时间:2023-12-03 22:32:54 26 4
gpt4 key购买 nike

我正在尝试 Sequelize 关联,但遇到了问题。
我有两个模型

class User extends Model { }
User.init(
{
id: {
allowNull: false,
primaryKey: true,
type: DataTypes.STRING,
},
name: DataTypes.STRING,
}, {/** */ });


class Book extends Model { }
Book.init(
{
id: {
allowNull: false,
primaryKey: true,
type: DataTypes.STRING,
},
name: DataTypes.STRING,
}, {/** */ });
Book.belongsTo(User, { as: 'owner' });
想象一下,我有这本书的用户,我如何将用户与这本书关联起来,这样我就可以随时从这本书中获取所有者?
我在想
const user = await User.findByPK(....);
const newBook = Book.create({
name:"BookName",
owner:user.id //But this isn't working
});
解决这个问题的最佳方法是什么?
谢谢

最佳答案

使用别名定义关联意味着 Book 具有 ownerId 字段。
来自官方文档:

Defining an Alias is more powerful than simply specifying a custom name for the foreign key. This is better understood with an example:


Ship.belongsTo(Captain, { as: 'leader' }); // This creates the `leaderId` foreign key in Ship.
Association aliases and foreign keys
所以你应该像这样创建 Book:
const newBook = Book.create({
name:"BookName",
ownerId: user.id
});

关于sequelize.js - 如何在数据插入过程中正确定义Sequelize关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65144203/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com