我在形成后续查询时遇到问题:
我的本机查询是这样的。
SELECT max(id),vehicleID FROM `vehicles` WHERE `vehicles`.`vsr_id`=342;
为此,我正在尝试构建类似这样的代码。
Vehicle.find({ where: { 'vsr_id': 342 }, order : [sequelize.fn('max', sequelize.col('id'))] }).success(function(vehicles){
console.log("Something i got" + vehicles)
})
它抛出一个错误:sequelize Object [object Object]没有方法'col' 我从这个网址引用: http://sequelizejs.com/docs/latest/models#block-34-line-8
我这边缺少任何代码。请帮帮我
仅供参考:忽略分号
你可以尝试一下吗
Vehicle.max('id', {where : {'vsr_id': 342 }})
.then(function(vehicle_id){
...
})
.error(function(error){
...
});
该查询应该可以通过:
Vehicle.findAll({
attributes: [
sequelize.fn('MAX', sequelize.col('id'))
],
where: {
{ 'vsr_id': 342 }
}
});
尝试使用:
Vehicle.findAll({
attributes: [Sequelize.fn('max', Sequelize.col('id'))],
raw: true,
})
查看此处了解更多信息。
使用sequelize.col引用列,sequelize不会添加“'”,这导致了这里的问题。
Vehicle.findAll({
where: {},
....
attributes:[[sequelize.fn('max', sequelize.col('id')),'max']]
})