NodeJS 我想通过使用sequalize传递另一个表的外键来从表中获取数据

xzlaal3s  于 2023-02-03  发布在  Node.js
关注(0)|答案(1)|浏览(154)

我的数据库中有3个表。VendorsProductsQuestions。问题表的外键为产品,产品的外键为供应商。如何通过从前端传递供应商ID来获取有关单个供应商的所有问题?我想在发布到特定供应商产品的供应商 Jmeter 板上显示所有问题。我现在尝试的是,得到所有的产品ID由供应商ID和提取问题,然后由这些产品ID。但它创建了2个查询与第二个查询我必须Map所有的产品ID和查询将运行在每个产品ID。
有没有一种方法可以通过Sequalize在单个查询中完成此操作?就像我传递vendor id,然后通过vendor id,它会获取该供应商的所有产品,然后获取有关其产品的所有问题。
谢谢

ubbxdtey

ubbxdtey1#

这是一个简单的JOIN,将其从SQL转换为sequelize对您来说是一个练习:

SELECT q.*, p.id AS product_id, p.name AS product_name
FROM Questions q 
JOIN Products p ON q.product_id = p.id
WHERE p.vendor_id = :vendor_id

您不需要使用Vendors进行联接,因为您不需要在那里查找任何内容--您已经知道了供应商ID。如果您使用的是供应商名称而不是供应商ID,则需要添加该联接以获得相应的ID。

相关问题