gpt4 book ai didi

sequelize.js - 通过关联更新 Sequelize

转载 作者:行者123 更新时间:2023-12-03 22:39:27 24 4
gpt4 key购买 nike

我正在尝试修改“时间表”表的 2 个字段,但我不能。我有出现的错误。我不明白:

我在这个表中有多个字段,但我只想更改开始日期和结束日期

这是方法:

exports.updateWorkingDates = (req, res) => {
Coach.find({
where: {
id: req.params.coachId
},
include: [{
model: Schedule,
attributes: ['start_date', 'end_date']
}]
}).then(coach => {
const updatedSchedule = {
start_date: req.body.start_date,
end_date: req.body.end_date ? req.body.end_date : null
}
coach.setSchedule(updatedSchedule).then(() => {
res.status(200).json({
message: "Modified."
})
}).catch(err => {
console.log(err)
})
})
}

错误:
Error: Invalid value { start_date: '2018-07-07' }

该模型:
   module.exports = (sequelize, DataTypes) => {
var Schedule = sequelize.define('Schedule', {
start_date: DataTypes.DATEONLY,
end_date: DataTypes.DATEONLY,
monday: DataTypes.STRING(24),
tuesday: DataTypes.STRING(24),
wednesday: DataTypes.STRING(24),
thursday: DataTypes.STRING(24),
friday: DataTypes.STRING(24),
saturday: DataTypes.STRING(24),
sunday: DataTypes.STRING(24)
}, {
freezeTableName: true
});

Schedule.associate = function (models) {
Schedule.belongsTo(models.Coach, {
foreignKey: 'fk_id_coach'
})
};
return Schedule;
};

谢谢 :)

最佳答案

有必要将日期变为特定格式

应该使用moment.js
https://momentjs.com/

例子:

const updatedSchedule = {
start_date: moment(req.body.start_date),
end_date: req.body.end_date ? moment(req.body.end_date) : null
}

时刻格式:
moment().format('MMMM Do YYYY, h:mm:ss a'); // September 4th 2018, 5:20:54 pm
moment().format('dddd'); // Tuesday
moment().format("MMM Do YY"); // Sep 4th 18
moment().format('YYYY [escaped] YYYY'); // 2018 escaped 2018
moment().format(); // 2018-09-04T17:20:54+03:00

祝你好运!

关于sequelize.js - 通过关联更新 Sequelize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52168126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com