簡體   English   中英

順序查詢失敗

[英]Sequelize Query Failing

我有一個模型,該模型具有兩次關聯的相同模型。 以下是模型定義

const RiStockSplitType = sequelize.define("RiStockSplitType",
    // Columns
    base.addColumns({
        "id": {type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true},
        "splitType": {type: DataTypes.INTEGER, defaultValue: 1, field: "split_type"}
    }, DataTypes),
    // Configs
    new base.DefaultModelConfig("table")
);
RiStockSplitType.associate = function (models, value) {
    value.belongsTo(models.ReservationInfo, {
        foreignKey: {
            allowNull: false,
            name:"reservation_info_id"
        },
        as: "reservation_info"
    });
    value.belongsTo(models.ReservationInfo, {
        foreignKey: {
            allowNull: false,
            name:"split_type_ri_id"
        },
        as:"split_type_ri"
    });
};
return RiStockSplitType;

以下是我要觸發的SequelizeQuery

 RiStockSplitType.findAll({
        include: [{
            model: ReservationInfo,
            as:"reservation_info"
        }],
    })
)}).then(function(){console.log(arguments)}).catch(err => {console.error('ERROR:', err);});

上面生成的SQL查詢是

Executing (default): SELECT `RiStockSplitType`.`id`, `RiStockSplitType`.`split_type` AS `splitType`, `RiStockSplitType`.`created_on` AS `createdOn`, `RiStockSplitType`.`updated_on` AS `updatedOn`, `RiStockSplitType`.`reservation_info_id`, `RiStockSplitType`.`split_type_ri_id`, `reservation_info`.`id` AS `reservation_info.id`, `reservation_info`.`created_on` AS `reservation_info.createdOn`, `reservation_info`.`updated_on` AS `reservation_info.updatedOn`, `reservation_info`.`city_id` AS `reservation_info.city_id` FROM `warehouse_ristocksplittype` AS `RiStockSplitType` LEFT OUTER JOIN `warehouse_reservation_info` AS `reservation_info` ON `RiStockSplitType`.`reservation_info_id` = `reservation_info`.`id`;

我得到的錯誤是

  SequelizeDatabaseError: Unknown column 'reservation_info.city_id' in 'field list'

我正在使用Sequelize v4和Node 6.9.5。 我無法找出錯誤的原因。 錯誤中提到的列是reservation_info.city_id ,在數據庫中

編輯

ReservationInfo的模型定義

const ReservationInfo = sequelize.define("ReservationInfo",
    // Columns
    base.addColumns({
        "id": {type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true},
    }, DataTypes),
    // Configs,
    new base.DefaultModelConfig("warehouse_reservationinfo"));

ReservationInfo.associate = function (models, value) {
    value.belongsTo(models.City, {
        foreignKey: {
            allowNull: false,
            name: 'city_id'
        }
    });
};
return ReservationInfo;

該查詢正在Warehouse_reservation_info上加入,而傳遞給DefaultModelConfig的名稱是Warehouse_reservationinfo。 表名之間不匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM