javascript - Sequelize MySQL 从其他表更新值副本
问题描述
我正在尝试制作一个可以执行以下操作的控制器:
UPDATE bankapplication_accounts
SET last_successful_logged = last_present_logged
WHERE id = 1
我在 sequelize 中的控制器如下所示:
exports.updateLastLoggedDate = (req, res) => {
User.findOne({
where: {
id: req.params.userId,
},
}).then(user => {
if (user) {
User.update(
{
last_successfull_logged: user.last_present_logged,
},
{ where: { id: req.params.userId } },
).then(() => {
res.status(200).send('logout correct');
});
}
});
};
这个控制器能写得更好吗?
解决方案
有2种方式
1:
exports.updateLastLoggedDate = (req, res) => {
User.findOne({
where: {
id: req.params.userId,
},
}).then((user) => {
if (user) {
user.update({
last_successfull_logged: user.last_present_logged,
}).then(() => {
res.status(200).send("logout correct");
});
}
});
};
2:
User.update(
{
last_successfull_logged: user.last_present_logged,
}, /* set attributes' value */
{
where: {
id: req.params.userId,
},
}, /* where criteria */
).then(() => {
res.status(200).send("logout correct");
});
推荐阅读
- excel - 是否可以在 Range.Find 中使用通配符 #(single digit) 和 [](charlist)?
- if-statement - 使用 SwiftUI 选择器,我的 MacBook 加热到 50 度
- angular - Angular 8 - 如果参数是属性,则不通过 require() 提供图像
- java - Java:Json Response 类转换异常
- python - Selenium Webdriver (Python) - 单击 div 元素(复选框)
- javascript - 为什么 ('b'+'a'+ + 'a' + 'a').toLowerCase() 'banana' 的结果是?
- sql - SQL Server:带有内部 SELECT 和子 SELECT 的 SUM()。每次都出错
- javascript - JavaScript - 通过对象数组中存在于预定义列表中的 ID 查找多个对象,而不使用 for 循环
- amazon-web-services - 有什么方法可以验证 IAM 用户
- javascript - 如何在TD标签中添加id?