Javascript 使用关联对插入数据进行续集 蔬菜.js recipe.js 结果

Javascript 使用关联对插入数据进行续集 蔬菜.js recipe.js 结果,javascript,node.js,express,sequelize.js,Javascript,Node.js,Express,Sequelize.js,SequelizeValidationError:notNull冲突:Planet.recipeId不能为null 为什么Planet.recipeId不填充Recipe.id 是否有插入关联数据的最佳实践?当在HASSOMY选项中未定义外键时,sequelize将自动生成它。模型列和数据库列的不匹配可能会导致这样的错误。您可能也定义了外键 Recipe.association = models => { Recipe.hasMany(models.Vegetable, {foreign

SequelizeValidationError:notNull冲突:Planet.recipeId不能为null

为什么Planet.recipeId不填充Recipe.id


是否有插入关联数据的最佳实践?

当在HASSOMY选项中未定义外键时,sequelize将自动生成它。模型列和数据库列的不匹配可能会导致这样的错误。您可能也定义了外键

Recipe.association = models => {
 Recipe.hasMany(models.Vegetable, {foreignKey: 'recipeId', as: 'vegetables'});
};
...
var Recipe = sequelize.define('Recipe', {
 id: { ... },
 name: { ... },
 ...
});

Recipe.association = models => {
 Recipe.hasMany(models.Vegetable, {as: 'vegetables'});
};

Recipe.insert = recipe => {
 const { Vegetable } = require('./vegetable');
 return Recipe.create({
  name: 'asdf',
  vegetables: [{name: 'asdf'}],
  ...
 }, {
  include: [{
   model: Vegetable,
   as: vegetables',
  }],
 });
};
...
Recipe.association = models => {
 Recipe.hasMany(models.Vegetable, {foreignKey: 'recipeId', as: 'vegetables'});
};