我尝试(sequelize model)来更新表中的值,但它会更新表中唯一的一个值。检查下面的例子
employee.updateAttributes({first_name : value.first_name},
{last_name : value.last_name},
{email : value.email},
{password : value.password},
{phone : value.phone}
).on('success',function(employee){
message.message = "Employee updated successfully";
message.employee = employee;
message.successMessage = "Success";
callback(message);
})
答案 0 :(得分:10)
您应该提供单个对象
employee.updateAttributes({
first_name : value.first_name,
last_name : value.last_name,
email : value.email,
password : value.password,
phone : value.phone
})
答案 1 :(得分:1)
使用.update()代替.updateAttributes()
答案 2 :(得分:0)
以防其他任何人遇到此问题...因为这是第一个结果:确实,最新版本的sequelize没有updateAttribute(),但使用update()可以工作,但您无法通过如果您具有hasMany关联,则为数组。相反,您必须这样迭代:
user.Addresses.forEach((oldAddress, i) => {
oldAddress.update(newAddresses[i])
});