Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 未在1:1关联中使用sequelize分配外键_Mysql_Node.js_Associations_Sequelize.js - Fatal编程技术网

Mysql 未在1:1关联中使用sequelize分配外键

Mysql 未在1:1关联中使用sequelize分配外键,mysql,node.js,associations,sequelize.js,Mysql,Node.js,Associations,Sequelize.js,我有3个模型用户,问题和视频 视频属于一个用户,也属于一个问题 用户有很多问题,而一个问题只有一个视频 我已经完成了用户和视频模型之间的关联,但是对于视频问题1还没有。外键已成功创建,但在create方法上未分配questionId 她的快照展示了模型和create函数的外观。 视频模型 'use strict'; module.exports = (sequelize, DataTypes) => { var Video = sequelize.define('Video', {

我有3个模型用户,问题和视频

  • 视频属于一个用户,也属于一个问题
  • 用户有很多问题,而一个问题只有一个视频
  • 我已经完成了用户和视频模型之间的关联,但是对于视频问题1还没有。外键已成功创建,但在create方法上未分配questionId
她的快照展示了模型和create函数的外观。 视频模型

'use strict';
module.exports = (sequelize, DataTypes) => {
  var Video = sequelize.define('Video', {
    transcription: {
      type: DataTypes.TEXT
    },
  });

  Video.associate = (models) => {
   Video.belongsTo (models.Question,
   {foreignKeyContraint : true , foreignKey: "questionId" });
  }

  Video.associate = (models) => {
    Video.belongsTo(models.User, {
      onDelete: "CASCADE",
      foreignKey: 'userId'
    });
  }
return Video;};
问题模型:

module.exports = (sequelize, DataTypes) => {
 var Question = sequelize.define('Question', {
  text: {
  type: DataTypes.TEXT,
  allowNull: false,
  }
});
Question.associate = (models) => {
 Question.belongsTo(models.Script, {
   onDelete: "CASCADE",
   foreignKey: 'scriptId'
 });
}
Question.associate = (models) => {
 Question.hasMany(models.Questionvariation,
 {
  foreignKey: 'questionId',
  as: 'questions',
 });
}返回问题;}

用于创建功能

create(req, res) {
 return Video
  .create({
    userId: req.body.user_id,
    questionId: req.body.question_id,
    transcription: req.body.transcription
  })
  .then(video => 
    res.status(201).send(video))
  .catch(error => 
    res.status(400).send(error));
 }

视频是创建的,但是它完全忽略了questionId的存在。

好的,我已经解决了它,问题是我必须在问题模型中添加一个hasOne关联