Node.js Sequelize-与includes关联的问题 发生了什么事?

Node.js Sequelize-与includes关联的问题 发生了什么事?,node.js,sequelize.js,Node.js,Sequelize.js,我有一条返回应用程序中所有车辆的车辆/公告路线,我有汽车,摩托车,农业机械,以及农具。我的问题是当涉及到从农业机器和农具返回数据时 续集查询 Annoucement.findAll({ 包括:[{ 型号:安诺汽车, 包括:[{ 型号:Itens,, 包括:[{ 型号:农业机械, }], 包括:[{ 型号:汽车,, 包括:[{ 型号:选装件, //as:‘期权’, 包括:[{ 型号:可选, }] }, { 型号:车辆具有以下特点:, 包括:[{ 型号:功能, }], //as:‘期权’, }, {

我有一条返回应用程序中所有车辆的
车辆/公告
路线,我有汽车摩托车农业机械,以及农具。我的问题是当涉及到从农业机器和农具返回数据时

续集查询
Annoucement.findAll({
包括:[{
型号:安诺汽车,
包括:[{
型号:Itens,,
包括:[{
型号:农业机械,
}],
包括:[{
型号:汽车,,
包括:[{
型号:选装件,
//as:‘期权’,
包括:[{
型号:可选,
}]
}, {
型号:车辆具有以下特点:,
包括:[{
型号:功能,
}],
//as:‘期权’,
}, {
型号:Fipe,
包括:[{
型号:燃料,
}]
}]
}],
}, {
型号:车辆图像
}, {
型号:人
}]
}],
订单:[
['id','DESC']
],
})。然后((结果)=>{
返回res.json({success:true,result:result})
}).catch((错误)=>{
返回res.status(400).json(err)
});
他带着一辆公告车 但当它是农业机具或农业机器时,它会将我返回到车辆到达的位置,并显示
车辆:null
的方式

我试过什么? 我试图在下面的
association:AnnouncementVehicle.associations.iten
中添加类似的内容
包括:[{association:AnnouncementVehicle.associations.agricultural\u machine}]
。 返回与上面输入的相同的JSON

我注意到了什么? 我意识到它总是返回最后一个关联,可能是我试图对从同一个表开始的两个表执行的两个include。我将农业机械的关联放在车辆关联之后,并返回
农业机械:null
和未返回的车辆

农业机械模型
module.exports=函数(续集,数据类型){
const agricultural\u machine=suquelize.define('agricultural\u machine'{
农业机器识别码:{
类型:DataTypes.INTEGER(11).UNSIGNED.ZEROFILL,
allowNull:错,
primaryKey:没错,
参考资料:{
型号:“itens”,
键:“id”
},
参考资料:{
模式:“农业机具”,
关键字:“农业机具id”
},
参考资料:{
型号:“拖拉机”,
钥匙:“拖拉机识别码”
}
},
工作时间:{
类型:DataTypes.STRING(45),
阿洛诺:是的
},
年份:{
类型:DataTypes.INTEGER,
allowNull:错误
},
说明:{
类型:DataTypes.TEXT,
阿洛诺:是的
},
品牌\农业\机器\标识:{
类型:DataTypes.INTEGER(5).UNSIGNED.ZEROFILL,
allowNull:错,
primaryKey:没错,
参考资料:{
型号:“品牌农业机械”,
键:“id”
}
},
型号\u农业\u机器\u id:{
类型:DataTypes.INTEGER,
allowNull:错,
primaryKey:没错,
参考资料:{
型号:“型号农业机械”,
键:“id”
}
}
}, {
表名:“农业机械”,
时间戳:false
});
农业机械协会=(型号)=>{
农业机械.hasOne(models.tractor,{foreignKey:'tractor_id'});
农业机械.hasOne(models.agricultural_implement,{foreignKey:'agricultural_implement_id'});
农业机械.belongsTo(models.itens,{foreignKey:'agricultural_machine_id');
农业机械.belongsTo(models.brand农业机械,{foreignKey:'brand农业机械\u id'});
农业机器.belongsTo(models.model农业机器,{foreignKey:'model农业机器id});
//公告_vehicles.belongsTo(models.person,{foreignKey:'personId'});
//公告车辆。有许多(模型。公告照片,{foreignKey:'Announces_id',constraints:false});
};
返回农业机械;
};
伊滕斯模型
module.exports=函数(续集,数据类型){
const itens=sequelize.define('itens'{
身份证:{
类型:DataTypes.INTEGER(11).UNSIGNED.ZEROFILL,
allowNull:错,
primaryKey:没错,
自动递增:真
},
类型:{
类型:“集合('1'、'2'、'3'、'4')”,
allowNull:错,
默认值:“1”
}
}, {
tableName:'itens',
时间戳:false
});
itens.associate=(型号)=>{
itens.hasOne(models.vehicles,{foreignKey:'item_id'});
hasOne(models.agricultural_machine,{foreignKey:'agricultural_machine_id'});
}
返回itens
};
公告车型
module.exports=函数(续集,数据类型){
const announcement\u vehicles=suquelize.define('announcement\u vehicles'{
IDANNOUN车辆:{
类型:DataTypes.INTEGER(11).UNSIGNED.ZEROFILL,
allowNull:错,
primaryKey:没错,
参考资料:{
模型:“公告”,
键:“id”
}
},
价格:{
类型:DataTypes.DECIMAL,
阿洛诺:是的
},
视频:{
类型:DataTypes.STRING(45),
阿洛诺:是的
},
说明:{
类型:DataTypes.TEXT,
阿洛诺:是的
},
人物:{
类型:DataTypes.INTEGER(11).UNSIGNED.ZEROFILL,
阿洛诺:是的,
{
  "success": true,
  "result": [
    {
      "id": 311,
      "active": true,
      "announcement_vehicle": {
        "idAnnouncementVehicles": 311,
        "price": null,
        "video": null,
        "description": null,
        "personId": 1,
        "itemId": 297,
        "payed": false,
        "plans_id": null,
        "createdAt": "2020-05-20T19:05:18.000Z",
        "updatedAt": "2020-05-20T19:05:18.000Z",
        "iten": {
          "id": 297,
          "type": "1",
          "vehicle": {
            "item_id": 297,
            "mileage": null,
            "license": null,
            "new": 0,
            "armoured": 0,
            "fuel_id": 1,
            "cambium_id": 1,
            "color_id": 1,
            "door_id": 1,
            "fipe_id": 1,
            "createdAt": "2020-05-20T19:05:18.000Z",
            "updatedAt": "2020-05-20T19:05:18.000Z",
            "optional_has_vehicles": [
              {
                ...
              }
            ],
            "vehicles_has_features": [
              {
                ...
                "feature": {
                  ...
                }
              },
            ],
            "fipe": {
              ....
              "fuel": {
                "id": 2,
                "description": "Gasolina"
              }
            }
          }
        },
        "announcemment_photos": [],
        "person": {
          ...
        }
      }
    },
 {
      "id": 306,
      "active": true,
      "announcement_vehicle": {
        "idAnnouncementVehicles": 306,
        "price": "500.000,00",
        "video": null,
        "description": "TESTE TIPO 4",
        "personId": 1,
        "itemId": 292,
        "payed": false,
        "plans_id": null,
        "createdAt": "2020-05-18T23:57:18.000Z",
        "updatedAt": "2020-05-18T23:57:18.000Z",
        "iten": {
          "id": 292,
          "type": "4",
          "vehicle": null
        },
        "announcemment_photos": [],
        "person": {
          "id": 1,
          "email": "teste@gmail.com",
          "password": "$2b$10$3OZVFYWeXKWLfxBMWJBYqua0qJPQkLl3sVgIFvZFuo6qBKj62dMQS",
          "name": "teste",
          "type": "fis",
          "createdAt": "2020-05-14T00:12:59.000Z",
          "updatedAt": "2020-05-14T00:12:59.000Z"
        }
      }
    },

 include: [{
        model: AnnoucementVehicle,
        as: 'Alias' // optional if you didn't indicate this alias in an association definition
model: Itens,
  include: [{
    model: AgriculturalMachine,
  }, {
    model: Vehicle,
    include: [{
    ... // other includes
  }, {
    model: AgriculturalImplements,
  }, {
    model: Vehicle,
    include: [{
    ... // other includes