【发布时间】:2020-07-03 10:34:46
【问题描述】:
我在一个太多的关系中有表产品和子表系列
const Product = sequelize.define('product', {
id: {type: Sequelize.INTEGER, autoIncrement: true, allowNull: false, primaryKey: true},
order: Sequelize.STRING
})
const Series = sequelize.define('series', {
id: {type: Sequelize.INTEGER, autoIncrement: true, allowNull: false, primaryKey: true},
name: Sequelize.STRING,
})
关系
Product.belongsTo(Series);
Series.hasMany(Product);
我想获取系列名称是一些文本并且产品订单名称是一些文本的所有产品。
exports.searchProduct = async (req, res, next) => {
const name = req.body.name || ''
const order = req.body.order || ''
try {
const series = await Series.findAll({
where: {
name: {[Op.like]: '%' + name + '%'}}
});
const products = await series.getProducts //<= get stuck here
res.status(200)
.json({result: products})
}
catch (err) {
if (!err.statusCode) {
err.statusCode = 500
}
next(err);
}
}
我设法查询了系列,但卡住了用订单名称查询产品结果。那么如何使用订单名称查询产品结果呢?我尝试在 getProducts 中添加 where 子句,但出现错误 getProducts is not a function
【问题讨论】:
标签: node.js sequelize.js