2017-07-25 2 views
0

Je 3 modèles utilisateur, Questions et vidéoclé étrangère n'est pas affecté à l'aide sequelize en association 1: 1

  • Une vidéo appartient à un utilisateur et aussi une question
  • utilisateur
  • a beaucoup de questions, alors que une question a seulement 1 vidéo
  • J'ai l'association entre l'utilisateur et les modèles vidéo fait, cependant pour la vidéo-question un pas encore. Les clés étrangères sont créées avec succès mais sur la méthode create, le questionId n'est pas affecté.

Hers est un instantané de l'apparence des modèles et de la fonction de création. Modèle vidéo

'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;}; 

Question modèle:

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', 
}); 

} return Question;};

Pour la fonction de création

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)); 
} 

La vidéo est créée mais il néglige complètement l'existence de QuestionID.

Répondre

0

Ok je l'ai résolu, le problème est que je dois ajouter une association hasOne dans Question model