根据条件更新 sequelize 列
Update a sequlize column based on condition
所以我想根据条件更新我的 table 列,这里是代码。
await CourseSubscriber.update({
completion_percentage: completion_percentage,
completed_on: **, // over here i want to check if completion_percentage<100 then update this one
}, {
where: {
course_id: course_id,
academy_id,
user_id: user_id
}
})
一种方法是添加 2 个基于 completion_percentage
的更新查询
if(completion_percentage < 100){
await CourseSubscriber.update({
completion_percentage: completion_percentage,
completed_on: null,
}, {
where: {
course_id: course_id,
academy_id,
user_id: user_id
}
})
} else {
await CourseSubscriber.update({
completion_percentage: completion_percentage
}, {
where: {
course_id: course_id,
academy_id,
user_id: user_id
}
})
}
这是另一个解决方案
const payload={
completion_percentage: completion_percentage,
}
if(completion_percentage < 100){
payload.completed_on = null
}
await CourseSubscriber.update(payload, {
where: {
course_id: course_id,
academy_id,
user_id: user_id
}
})
这样我们只对数据库进行一次查询。
所以我想根据条件更新我的 table 列,这里是代码。
await CourseSubscriber.update({
completion_percentage: completion_percentage,
completed_on: **, // over here i want to check if completion_percentage<100 then update this one
}, {
where: {
course_id: course_id,
academy_id,
user_id: user_id
}
})
一种方法是添加 2 个基于 completion_percentage
的更新查询if(completion_percentage < 100){
await CourseSubscriber.update({
completion_percentage: completion_percentage,
completed_on: null,
}, {
where: {
course_id: course_id,
academy_id,
user_id: user_id
}
})
} else {
await CourseSubscriber.update({
completion_percentage: completion_percentage
}, {
where: {
course_id: course_id,
academy_id,
user_id: user_id
}
})
}
这是另一个解决方案
const payload={
completion_percentage: completion_percentage,
}
if(completion_percentage < 100){
payload.completed_on = null
}
await CourseSubscriber.update(payload, {
where: {
course_id: course_id,
academy_id,
user_id: user_id
}
})
这样我们只对数据库进行一次查询。