mysql - 如何在Sequelize中从主模型同一级别的包含模型返回结果?

标签 mysql express sequelize.js

这是我在项目中完成的代码和结果。 我想获得包含模型的结果与主模型相同的结果。下面的代码是我所做的。

序列化查询:

 User.findAll({
        include: [{
                model: Position,
                attributes: ['POSITION_NAME'],
            }
        ]
    }).then(user => {
        res.json({
            data: user
        })
    }).catch(error => {
        console.log(error)
    })

我得到的结果

     [
        {
            "ID": 2,
            "NAME": "AAA",
            "LAST_NAME": "BBB",
            "Position": {
                "POSITION_NAME": "ວິຊາການສັນຍາຈ້າງ"
            }
        }
]

我想要的结果:

     [
        {
            
        "ID": 2,
        "NAME": "AAA",
        "LAST_NAME": "BBB",
        "POSITION_NAME": "ວິຊາການສັນຍາຈ້າງ"
        }
]

最佳答案

尝试这样。

User.findAll({
    attributes: ["ID", "NAME", ["Position.POSITION_NAME", "POSITION_NAME"]],
    include: [{
        model: Position,
        attributes: [],
    }
    ],
    raw:true
}).then(user => {
    res.json({
        data: user
    })
}).catch(error => {
    console.log(error)
})

关于mysql - 如何在Sequelize中从主模型同一级别的包含模型返回结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62507000/

相关文章:

php - 使用 strtotime 计算两个日期之间的差异

javascript - 通过 Express 中间件将 req.body 传递给路由

node.js 使用数组对事务进行 Sequelize 进行查询

node.js - Sequelize 同步复制现有的外键关联

mysql - 无法使用 mysql 检索 Sequelize 的模型名称

mysql - Yii2 只运行特定的迁移

sql - MySQL:如何根据哪些列为空,从另一列中选择具有值的列?

mysql - 使用多个 OR 语句更新

javascript - 如何在 Express Route 中捕获不定数量的参数?

angularjs - 无法使用 Express 获取有关删除 header 的任何数据