У меня указанная ниже модель заказа.
У этого будет много компаний в качестве ассоциации.
module.exports = function (sequelize, DataTypes) {
const order = sequelize.define(
"order",
{
name: {
field: "name",
type: DataTypes.STRING(50),
allowNull: false,
},
uid: {
field: "uuid",
type: DataTypes.STRING(50),
allowNull: false,
},
blocked: {
field: "blocked",
type: DataTypes.BOOLEAN(),
allowNull: false,
defaultValue: 0,
},
},
{
}
);
order.associate = function (models) {
order.hasMany(models.company, {
as: "total_company",
foreignKey: "order_id",
});
};
return order;
};
А у меня есть еще одна модель под названием «компания».
module.exports = function (sequelize, DataTypes) {
const company = sequelize.define(
"company",
{
order_id: {
type: DataTypes.INTEGER,
},
position: {
type: DataTypes.INTEGER,
allowNull: false,
},
},
{
}
);
company.associate = function (models) {
company.belongsTo(models.order, {
foreignKey: "order_id",
});
};
return company;
};
И, как вы можете видеть, заказ имеет многие компании. Я сделал api на express, который может вставлять данные в модель заказа.
const models = require("../models");
exports.insertOrder = async (req, res) => {
const { name, uuid, blocked } = req.body
try {
await models.order.create({
name,
uuid,
blocked,
});
} catch (error) {
return res.json({
error,
});
}
return res.json({
success: true,
});
};
Но я хочу вставить этот тип данных.
req.body = {
name: 'test',
uuid: '2323jak',
blocked: 0,
company: [
{
position: 29
},
{
position: 30
},
]
}
Как я могу создать сиквелиз для hasMany типа?
Спасибо, что прочитали.