Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在sequelize中从父表获取数据_Node.js_Angularjs_Express_Sequelize.js_Nodeapi - Fatal编程技术网

Node.js 如何在sequelize中从父表获取数据

Node.js 如何在sequelize中从父表获取数据,node.js,angularjs,express,sequelize.js,nodeapi,Node.js,Angularjs,Express,Sequelize.js,Nodeapi,我正在使用Sequelize dependency 我想从父表中获取数据,我有一个表tblroute,它与routedDetails关联tblroute的id是routedDetails中的外键 router.get('/bookingdetails', passengerMiddleware, (req, res) => { tblBookingdetail.sync().then(() => { tblBookingdetail.findAll({ whe

我正在使用Sequelize dependency

我想从父表中获取数据,我有一个表tblroute,它与routedDetails关联tblrouteidroutedDetails中的外键

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'));
        }
    });

})
})

它给出了以下错误
未处理的拒绝SequelizeAgerLoadingError:tblRouteDetail未与tblRoute关联

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

打开您的模型
tblRouteDetail
,并在两个表之间添加关系,如下所示

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

这可能有助于你理解

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

打开您的模型
tblRouteDetail
,并在两个表之间添加关系,如下所示

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

这可能有助于你理解

两个表都在关系中请参见:tblRouteDetail.belongsTo(tblRoute,{as:'route'})您是否在
tblRoute
model上定义了关系?没有bcoz tblroutedetails属于tblRoute,我想从tblRoute获取数据到tblroutedetails。?可能。但当我试图从tblroutedetails获取数据到tblroute时,它会给出result@X3Vikas根据您的脚本(如上),您正在通过
tblRoute
模型获取
tblRoute详细信息
结果。这就是为什么您需要在
tblRoute
模型上定义关系。
tblRoute details
知道与
tblRoute
的关系,但是
tblRoute
模型不知道与
tblRoute details
的关系。两个表都在关系中,请参见:tblRoute details.belongsTo(tblRoute,{as:'route})您是否在
tblRoute
model上定义了关系?没有bcoz tblRoute详细信息属于tblRoute,我想从tblRoute获取数据到tblRoute详细信息。?可能。但当我试图从tblroutedetails获取数据到tblroute时,它会给出result@X3Vikas根据您的脚本(如上),您正在通过
tblRoute
模型获取
tblRoute详细信息
结果。这就是为什么您需要在
tblRoute
模型上定义关系。
tblRouteDetails
知道与
tblRoute
的关系,但是
tblRoute
模型不知道与
tblRouteDetails
的关系。