如何从Sequelize中主模型的同级包含模型返回结果?

2022-06-25 00:00:00 express mysql 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)
})

相关文章