sequelize使用连接查询时,怎么样让结果的前缀不返回连接表的表名或别名?

代码如下:

let queryRes = await models.wb_user_chain.findAll(
{attributes: [
          'id',
          'companyName'
        ],
        include: [{
          model: models.wb_user_users,
          attributes: ['status'],
          where: {
            userID: sequelize.col('companyID')
          }
        }],
        where: {
          userID: req.user.userID
        },
        order: [['id', 'ASC']],
        raw: true});

两个表的关联关系如下:

wb_user_chain.belongsTo(wb_user_users, { foreignKey: 'companyID' });
wb_user_users.hasMany(wb_user_chain);

结果如下:

{
  "code": 0,
  "data": {
    "companyList": [
      {
        "id": 2,
        "companyName": "name",
        "wb_user_user.status": 2
      }
   }
}

我并没有在任何地方设置过wb_user_users这个表的别名,但是结果里却出现了wb_user_user这个别名,我要怎么不返回status字段的前缀wb_user_user?

阅读 793
1 个回答
let queryRes = await models.wb_user_chain.findAll({
  attributes: [
    'id',
    'companyName'
  ],
  include: [{
    model: models.wb_user_users,
    attributes: [[ 'status', 'status' ]],  // 用数组来重命名字段
    where: {
      userID: sequelize.col('companyID')
    }
  }],
  where: {
    userID: req.user.userID
  },
  order: [['id', 'ASC']],
  raw: true
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题