NODEJS - 执行 INNER JOIN 续集
Posted
技术标签:
【中文标题】NODEJS - 执行 INNER JOIN 续集【英文标题】:NODEJS - Perform INNER JOIN sequelize 【发布时间】:2020-02-25 13:03:27 【问题描述】:我想使用 sequelize 和 Node.js 执行 INNER JOIN。实际的 SQL 查询如下所示:
SELECT b.id, b.title, b.author, b.image_url, s.novel_status AS status, g.genre
FROM novels b
INNER JOIN genres g
ON b.genre = g.id
INNER JOIN novel_statuses s
ON b.status = s.id
它给出了以下响应:
使用 sequelize 作为我的 ORM,我尝试像这样完成上述操作:
getNovel: (req, res) =>
novelModel.hasMany(statusModel,
foreignKey: 'id'
);
statusModel.belongsTo(novelModel,
foreignKey: 'id'
);
novelModel.hasMany(genreModel,
foreignKey: 'id'
);
genreModel.belongsTo(novelModel,
foreignKey: 'id'
);
novelModel
.findAll(
include: [
model: genreModel,
required: true,
attributes: ['genre']
,
model: statusModel,
required: true,
attributes: ['novel_status']
]
)
.then(result => res.json(result))
.catch(err => res.json(err));
,
但是响应不同,即如下:
我的数据库:
我试图寻找答案,但没有任何运气。
【问题讨论】:
How to make join queries using Sequelize on Node.js的可能重复 【参考方案1】:您应该给出您使用的模型框架的名称。
【讨论】:
以上是关于NODEJS - 执行 INNER JOIN 续集的主要内容,如果未能解决你的问题,请参考以下文章
如何在Nodejs中使用Sequelize在没有公共列的两个表上进行INNER JOIN?
sql inner join 与 left join和right join 执行效率上面有多大差别?