我如何使用Sequelize查找关系中的列满足条件的所有人?
一个例子是找到作者姓氏为"希区柯克"的所有书籍.书架构包含与作者表的hasOne关系.
编辑:我理解如何使用原始SQL查询完成此操作,但寻找另一种方法
表有多对多的关系,由两者之间的订单表连接.
出口 - >订单< - 产品
我想获得今日订单的Outlet列表.
所以这是一个获得所有渠道的功能:
db.Outlet.findAll({include: [
{model:db.Product, attributes: ['id', 'name', 'nameKh']}
]}).then(function(outlets){
return res.jsonp(outlets);
})
Run Code Online (Sandbox Code Playgroud)
我得到了这个结果:
我只能通过使用以下选项来选择产品ID:
db.Outlet.findAll({include: [
{model:db.Product, attributes: ['id', 'name', 'nameKh'], where: {id: 2}
]}).then(function(outlets){
return res.jsonp(outlets);
})
Run Code Online (Sandbox Code Playgroud)
如何按特定订单金额或今天订单日期查询?
这是我的模特:
出口:
var Outlet = sequelize.define('Outlet', {
outletCode: DataTypes.STRING,
outletName: DataTypes.STRING,
outletNameKh: DataTypes.STRING,
outletSubtype: DataTypes.STRING,
perfectStoreType: DataTypes.STRING,
address: DataTypes.STRING
},
{
associate: function(models){
Outlet.belongsToMany(models.Product, {through: models.Order});
Outlet.belongsTo(models.Distributor);
// Outlet.hasMany(models.Order);
}
}
);
Run Code Online (Sandbox Code Playgroud)
产品:
var Product = sequelize.define('Product', {
inventoryCode: DataTypes.STRING,
name: DataTypes.STRING,
nameKh: DataTypes.STRING, …Run Code Online (Sandbox Code Playgroud)