sequelize 1对多,多条数据直接作为一个list key 在那一条对应的 数据下,sequelize 1对多时,一直获取到的是多条数据的解决办法

let opt = {where:{}};
dbData('graph_version').hasMany(dbData('graph_version_log'), {
  // as: 'roleAccess',
  foreignKey: 'project_id',
  targetKey: 'project_id'
});
let result = await dbData('graph_version').findAll(Object.assign(opt,{
  include: [{
    model: dbData('graph_version_log'),
    // as: 'roleAccess',
  }]
}));

这是获取到的数据列表,多条数据直接在那一条的下面。这里还需要介绍俩字段,上面代码注释的那俩as,可以指定key 的名字,还有一个就是,如果你一直获得的是多条数据的话,那 hasMany 的条件,一定不能带raw:true,带上之后,就变成了下面这样:

猜你喜欢

转载自blog.csdn.net/lizhen_software/article/details/108599209