Reputation: 105
I use sequelize ORM first time.
when i made models of table, i worked well so, i could see this in GUI database.
and this code is model of this table
const Sequelize = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class request extends Sequelize.Model {
static associate(models) {
models.request.belongsTo(models.model, {foreignKey: {name : "model_id", allowNull: true}})
models.request.belongsTo(models.user, {foreignKey: {name : "user_id", allowNull: true}})
models.request.hasOne(models.appraisal, {foreignKey: "request_id"})
}
};
request.init({
request_id : {
type: Sequelize.INTEGER(11),
allowNull: false,
unique : true,
autoIncrement: true,
primaryKey: true,
},
request_time : {
type : Sequelize.DATE,
},
image_folder : {
type : Sequelize.STRING(64)
},
image_file : {
type : Sequelize.STRING(256)
},
result : {
type : Sequelize.STRING(8)
},
result_value : {
type : Sequelize.INTEGER(8)
},
product_image : {
type : Sequelize.STRING(64)
}
}, {
sequelize,
timestamps: true,
underscored: false,
modelName: 'request',
tableName: 'request',
paranoid: false,
charset: 'utf8',
collate: 'utf8_general_ci',
freezeTableName: true,
tableName: "request"
});
return request;
};
but, when i add record like this,
const request = new db.request();
let data = {
request_time : date,
image_folder : path,
image_file : filesName,
result : resultBool,
result_value : resultValue,
product_image : "8.jpg",
model_id : 1,
user_id : 1
}
db.request.create(data);
it makes problem, Except for the foreign key, the values are successful inserted to columns, but foreign key doesn't get value. it always has null like this picture.
How can i add value of foreign key in sequelize? :(
Upvotes: 0
Views: 752
Reputation: 22768
I suppose you need to indicate field
option in associations along with name
:
foreignKey: {name : "model_id", field : "model_id", allowNull: true}
If it still does not work then try to define model_id
explicitly in the request
model
Upvotes: 1