如何从sequelize中获取父表中的数据

问题描述 投票:0回答:1

我正在使用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没有关联!

node.js angularjs express sequelize.js nodeapi
1个回答
0
投票

因为您试图获取结果集而没有在模型tblRouteDetail中定义关系。

打开你的模型tblRouteDetail并在下面的两个表之间添加关系。

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

它可能会帮助您理解。

© www.soinside.com 2019 - 2024. All rights reserved.