我正在使用 sequelize 開發一個快速休息 api。我使用(它創建了 init-models.js)成功地生成了我的模型sequelize-auto,并且從那時起就沒有考慮過它。我的表有關聯,它們顯示在 init-models.js 檔案中,但我似乎無法使用查詢關聯來利用關聯。
這是 sequelize-auto 生成的 init-models.js:
function initModels(sequelize) {
...
product.belongsTo(manufacturer, { as: "manufacturer", foreignKey: "manufacturer_id" });
manufacturer.hasMany(product, { as: "products", foreignKey: "manufacturer_id"});
return { product, manufacturer }
}
module.exports = initModels;
module.exports.initModels = initModels;
module.exports.default = initModels
所以我的問題是......當我的服務器啟動并初始化所有內容時,這個模塊是否會被加載?如果沒有,我是否可以按照檔案中的建議將我的關聯直接移動到模型初始化函式(我想我寧愿這樣做)?
uj5u.com熱心網友回復:
如果您在此處查看我的其他答案,您將更好地了解如何注冊和初始化模型及其關聯。
至于顯示的生成代碼,我想最好在initModels初始化 Sequelize 實體以將其傳遞給函式之后立即在入口點或特殊 DB 模塊內呼叫。如果您匯入這個生成的模塊,那么默認情況下,您將只能訪問initModels能夠在您希望初始化模型并回傳它們的任何地方呼叫它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/524262.html
