【100分】sequelize嵌套includ的bug,有人遇到过吗?请专家解惑

丰云 2019-09-20 02:26:41
如题,商城项目中需要获取订单表数据,订单表关联用户信息表和订单详情表,订单详情表关联商品表

这样查询时,includ就嵌套了,结果就出错了:


orders.findAll({
attributes: ['id', 'code', 'status', 'createTime'],
where: {
personID: req.body.personID
},
include: [ {
as: 'address',
model: receiveAddress,
attributes: ['id', 'area', 'address']
}, {
model: orderDetail,
attributes: ['id', 'quantity'],
include: [{
model: goods,
attributes: ['id', 'desc', 'name', 'cover']
}]
}],
order: [
['createTime', 'DESC'],
],
offset: req.body.pageIndex * req.body.pageSize,
limit: req.body.pageSize
})


报错是错误的receiveAddressID字段,但这个字段是我的model定义的映射字段,不是数据库里的字段


//订单表的外键
receiveAddressID: {
type: Sequelize.STRING,
allowNull: false,
field: 'PerSon_Address_ID'
}
//关系定义
orders.belongsTo(receiveAddress, {
as: 'address',
foreignKey: 'receiveAddressID',
through: null
});



这个问题怎么解决呢?
...全文
377 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
丰云 2019-09-20
  • 打赏
  • 举报
回复
顺便说下临时解决方法,就是加上本来用不上的receiveAddressID查询列,这样就行了
丰云 2019-09-20
  • 打赏
  • 举报
回复
算了,经过反复确认,这是sequelize的sql映射转换的bug,没法从表面解决,这个帖子取消了!!

87,899

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧