Я использую зависимость Sequelize
Я хочу получить данные из родительской таблицы, у меня есть таблица маршрут, которая связана с детали маршрута. маршрутя бы является внешним ключом в детали маршрута.
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'
});
};
Это может помочь вам понять.
Вы определили отношения по модели tblRoute?
Никакой bcoz tblroutedetails не принадлежит tblroute, я хочу получить данные из tblroute в tblroutedetails.? Можно Возможно. Но когда я пытаюсь получить данные из tblroutedetails в tblroute, это дает результат
@ X3Vikas согласно вашему сценарию (выше) вы получаете tblRouteDetails результат через tblRoute модель. Вот почему вам нужно определить отношение к модели tblRoute.
tblRouteDetails знает об отношениях с tblRoute, но tblRoute модель не знает об отношениях с tblRouteDetails.
когда я создаю связь из tblroutedetails в tblroute, мы можем получить доступ к данным из обеих таблиц
Давайте продолжить обсуждение в чате.
обе таблицы находятся в отношениях, см. это: tbl Route Detail.belongsTo (tbl Route, {as: 'route'})