我有一个Product
型号的Category
和一个many to many
型号。我想获得所有类别,其中一个产品属于。
所以这是我所做的:
const product_categories=await Product.findByPk(product_id,{
include:{
model:Category,
as:'categories',
},});
查询工作正常,但在响应中我首先得到带有嵌套Product object
的{{1}},但我真正想要的只是显示类别。这里是结果。
我不想看到Category
,我只对嵌套的Product attributes
感兴趣。或者只有Category
有product_id value
并将{{ 1}}。如何实现此目标?
答案 0 :(得分:1)
只需翻转逻辑。
const productCategories = await Category.findAll({
attributes: ['id', 'name'], // or whatever attributes you want, remove this if you want all of them
where: {
productId: product_id
},
transaction
})
另一方面,我认为您可以在仍然使用方法的同时删除产品属性:
const product_categories = await Product.findByPk(product_id,{
attributes: [], // <== no product attributes
include:[{
model:Category,
as:'categories',
}],
transaction
})