gpt4 book ai didi

mysql - Sequelize include 即使它是空的

转载 作者:可可西里 更新时间:2023-11-01 07:11:49 25 4
gpt4 key购买 nike

我正在使用以 Node.js 作为后端的 Sequelize express,我需要将来 self 的 sequelize 的一些数据包含到另一个表中,但其中一些数据为空,因此我得到的整个结果为空。

问题:如果数据可用,我如何返回一些数据,如果没有数据,我如何返回另一个 null

router.get("/scheduled/:id", function(req, res, next) {

models.Order.findOne({

where: {
id: req.params.id
},
attributes: ['orderStatus', 'id', 'serviceId', 'orderDescription', 'orderScheduledDate'],
include: [{
model: models.User,
attributes: ['firstName', 'phoneNumber']
}]
}).then(function(data) {

res.status(200).send({
data: data,
serviceName: data["serviceId"]
});

});

});

我想要:如果订单没有用户,结果应该返回 null,当它为 null 时返回订单详细信息和用户。

最佳答案

However, a where clause on a related model will create an inner join and return only the instances that have matching sub-models. To return all parent instances, you should add required: false for more detail check nested-eager-loading

var users  = require('./database/models').user;

models.Order.findOne({
where: {
id: req.params.id
},attributes: ['orderStatus','id','serviceId','orderDescription','orderScheduledDate'],
include: [
{model: users,required: false,
attributes: ['firstName','phoneNumber']
}
]
}).then(function(data) {

res.status(200).send({data : data,serviceName : data["serviceId"]});

});

关于mysql - Sequelize include 即使它是空的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43717995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com