javascript - 使用sequelize从两个模型表获取数据

标签 javascript jquery mysql sequelize.js

我尝试使用sequelize 添加两个表中的数据,但只返回一个表的数据。表名称为boilerHouse 和compressorHouse。

路线如下:

//(1)获取所有锅炉房信息

router.get("/alldataa", (req, res) => 

   Promise.all([boilerHouse.findAll(), compressorHouse.findAll()])
   .then((data) => {
    res.render('gigs', {
    gigs:data[0],
    gigs:data[1],

   //data[0] is response from tableA find
   // data[1] is from tableB
    })   

    })
   .catch(err => console.log(err)));

最佳答案

这里问题json key 的相同名称:

{
    gigs:data[0], // <----- gigs
    gigs:data[1]  // <----- gigs
}

如果您使用相同名称的 key ,那么它将被最后一个 key 覆盖

<小时/>

解决此问题的方法是使用不同的键名称或将 2 个结果合并为一个

{
    gigs:data[0],
    gigs2:data[1]  // <----- Change this key name gigs2
}

// OR

{
     gigs: [ ...data[0] , ...data[1] ] // <--- Merge result into one
}

关于javascript - 使用sequelize从两个模型表获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58021537/

相关文章:

javascript - jQuery取消选中复选框不起作用

javascript - 仅将 AngularJS 用于路由目的

javascript - 具有多种类型复选框的数据表

javascript - 默认隐藏子菜单,如果事件则显示

javascript - 在div标签中插入省略号(...),如何为其添加功能

javascript - Angularjs 在同一个文本框上进行多次验证

javascript - 将 "&lt;/script&gt;"放入 JavaScript 中的变量中

php - 如何使用输入类型日期获取日期?

mysql - 在 MySQL (5.6) 数据库中存储 JSON 数组的数据类型

mysql - 避免在查询中进行文件排序