Как получить данные из родительской таблицы в sequelize - PullRequest
0 голосов
/ 15 марта 2019

Я использую зависимость Sequelize

Я хочу получить данные из родительской таблицы, у меня есть таблица tblroute , связанная с routedetails . tblroute 's 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!

1 Ответ

0 голосов
/ 15 марта 2019

Поскольку вы пытаетесь получить набор результатов без определения отношения внутри модели tblRouteDetail.

Откройте вашу модель tblRouteDetail и добавьте взаимосвязь между обеими таблицами, как показано ниже.

 tblRoute.associate = function associate({ tblRouteDetail }) {
    return tblRoute.hasOne(tblRouteDetail, {
      foreignKey : 'tblroute_id'
    });
  };

Это может помочь вам понять.

...