我有一个带有product_price和数量的购物车型号。我正在写一个sequelize查询来计算总价格*数量 这是我的查询
db.Cart.findAll({
attributes: {include: [[db.sequelize.condition(db.sequelize.col('cart_quantity'), '*', db.sequelize.col('price')),'tot']]}
})
Sequelize documentatoin说要访问我们使用的'tot'的值 instance.get( 'TOT')。 所以在结果中console.log(item.get('tot')显示正确的值
.then(function(dbCart){ //我们可以在回调函数
中访问产品作为参数 dbCart.forEach(function(item){
console.log(item.get('tot'));
});
var hbsObject = {
products: dbCart,
};
res.render("shop/cart", hbsObject);
});
});
现在,当我尝试访问carts.handlebars文件中的值时 我无法显示或访问'tot'的值 {{#each products}} {{TOT}} 要么 {{Cart.tot}}或{{products.tot}}或{{products.get('tot')}}没有产生任何价值 {{/每}} 如何在车把中访问和显示'tot'的值? 谢谢
答案 0 :(得分:0)
据我所知,您只能使用item.get('tot')访问查询结果,但由于无法从车把调用函数,因此需要解决。一种方法是添加仅包装.get()函数的车把助手。
const Handlebars = require('handlebars');
Handlebars.registerHelper('sequelizeGet', function(obj, col) {
return obj.get(col);
});
在车把模板中访问该帮助程序,如:
<span>{{sequelizeGet item 'tot'}}</span>
答案 1 :(得分:0)
尝试:
from to id p q p1 q1
0 104 103 1 -414.35 62.23 415.00 0.00
1 105 102 1 -1197.37 489.83 1203.11 -395.44
或尝试:
{{#each users}}
{{#dataValues}}
<p>Username: {{username}}</p>
<p>Email: {{email}}</p>
{{/dataValues}}
{{/each}}