我在形成续集查询时遇到问题:
我的原生查询就是这样。
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
我的任何代码遗失。请帮帮我
仅供参考:忽略分号
答案 0 :(得分:8)
你可以试试吗,
Vehicle.max('id', {where : {'vsr_id': 342 })
.success(function(vehicle){
...
})
.error(function(error){
...
});
答案 1 :(得分:1)
尝试使用:
Vehicle.findAll({
attributes: [Sequelize.fn('max', Sequelize.col('id'))],
raw: true,
})
查看 here 了解更多信息。
答案 2 :(得分:0)
Rate.findAll({
where:{productId:pid},
attributes:[[sequelize.fn('max', sequelize.col('rating')),'max']]
})
答案 3 :(得分:0)
使用sequelize.col引用该列,并且sequelize不会添加“'”,这在这里引起了问题。