让我们说条件是用户有很多项目
var User = sequelize.define('user', {
id: { type: Sequelize.INTEGER, primaryKey: true},
name: Sequelize.STRING,
}, {
underscored: true,
constraints: false
})
var Project = sequelize.define('project', {
id: { type: Sequelize.INTEGER, primaryKey: true},
title: Sequelize.STRING,
}, {
underscored: true,
constraints: false
})
Project.belongsTo(User)
User.hasMany(Project)
如果我已经在DB中有用户记录
{ id: 1, name: "spondbob" }
如何使用该用户创建项目?我在某个地方看到过,我们可以在创建项目时执行此操作
{
id: 1,
title: "Project 1",
user_id: 1
}
但除了直接提到外键之外,是否有一种优雅的方式来设置用户?
另外我知道我可以创建项目并执行project.setUser(user)
但问题是user_id
外键设置为NOT NULL。在这种情况下,我必须在创建项目时添加user_id
,而不是在创建后设置它。
要添加它,如果我需要为用户创建和分配多个项目,我该如何实现?
答案 0 :(得分:0)
{
id: 1,
title: "Project 1",
user_id: 1
}
如果您将外键名称指定为以下代码,则上面的代码将起作用:
Project.belongsTo(User, {foreignKey: 'user_id'})