我正在使用Sequelize依赖
我想从父表中获取数据,我有一个与routedetails相关联的表tblroute .tblroute的id是routedetails中的外键
router.get('/bookingdetails', passengerMiddleware, (req, res) => {
tblBookingdetail.sync().then(() => {
tblBookingdetail.findAll({
where: {
passengerId: req.passenger.id
},
include: [
{
model: tblRoute,
as: 'route',
include: [
{
model: tblRouteDetails,
as: 'routedetails'
}
]
},
]
}).then(data => {
if (data && data.length > 0) {
return res.json(baseResponse.sendSuccess('data', data));
} else {
return res.json(baseResponse.sendError('data not found'));
}
});
})
})
它给出了以下错误未处理的拒绝SequelizeEagerLoadingError:tblRouteDetail与tblRoute没有关联!
因为您试图获取结果集而没有在模型tblRouteDetail
中定义关系。
打开你的模型tblRouteDetail
并在下面的两个表之间添加关系。
tblRoute.associate = function associate({ tblRouteDetail }) {
return tblRoute.hasOne(tblRouteDetail, {
foreignKey : 'tblroute_id'
});
};
它可能会帮助您理解。