问题描述
我正在从产品详细信息中获取数据,因此我必须多次连接不同的表。以及有像 product -> product_attribute -> attribute_desc 这样的依赖连接。当我尝试使用以下代码获取数据时,它会与产品表列 product_id 连接,但我希望它会与 attribute_id 连接。
ProductAttribute.hasOne(AttributeDescription,{as: 'AttributeDescription',foreignKey: 'attribute_id',})
AttributeDescription.belongsTo(ProductAttribute,{as: 'ProductAttribute',foreignKey: 'attribute_id'})
Product.findOne({
where: {
status: 1,product_id: product_id
},include: [
{
model: ProductDescription,as: 'ProductDescriptions'
},{
model: ProductAttribute,as: 'ProductAttributes',include: [
{
model: AttributeDescription,as: 'AttributeDescription'
}
]
}],})
当前 sql 示例
SELECT `my_product`.`product_id`,`my_product`.`model`,`my_product`.`sku` FROM `my_product` AS `my_product` LEFT OUTER JOIN `my_product_description` AS `ProductDescriptions` ON `my_product`.`product_id` = `ProductDescriptions`.`product_id` LEFT OUTER JOIN `my_product_attribute` AS `ProductAttributes` ON `my_product`.`product_id` = `ProductAttributes`.`product_id` LEFT OUTER JOIN `my_attribute_description` AS `ProductAttributes->AttributeDescription` ON `ProductAttributes`.`product_id` = `ProductAttributes->AttributeDescription`.`attribute_id` WHERE `my_product`.`status` = 1 AND `my_product`.`product_id` = 999
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)