【发布时间】:2016-01-06 00:53:52
【问题描述】:
我正在使用 sequelize 通过关系获取总数。我需要一个customerId,它位于通过数据透视表连接的父表中。普通查询看起来像这样:
SELECT count(p.*) FROM parcels as p
LEFT JOIN orders_parcels as op ON op."parcelId" = p.id
LEFT JOIN orders as o ON op."orderId" = o.id
WHERE o."customerId"=1
这很好用。但不确定如何获取 sequelize 查询。
Parcel.findAndCountAll();
编辑:OrderParcel
var OrderParcel = service.sequelize.define('OrderParcel', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
}
}, {
tableName: 'orders_parcels',
freezeTableName: true,
paranoid: true
});
module.exports = OrderParcel;
var Order = require('./Order');
OrderParcel.belongsTo(Order, {
as: 'Order',
foreignKey: 'orderId'
});
var Parcel = require('../parcel/Parcel');
OrderParcel.belongsTo(Parcel, {
as: 'Parcel',
foreignKey: 'parcelId'
});
【问题讨论】:
标签: javascript node.js sequelize.js