問題描述如題,egg-Sequelize無外鍵關系時(使用reference創建),使用include不能夠查詢多表相關數據。還請各位大神指教或使用association后,使用sync創建數據庫時不產生外鍵也能繞過該問題。問題出現的環境背景及自己嘗試過哪些方法感謝文章 相關API文檔,關鍵詞搜索(“沒有約束的外鍵引用”)了解得知,使用reference可以避免創建外鍵關系,嘗試使用app.sync生成庫,發現無關系,項目重新運行,發現仍需要指向Model之間的關系鏈,如果不使用reference改用association,運行時會創建數據庫外鍵,已猝。。相關代碼/app/model/user.js
...
User.associate = () =>{
User.hasMany(app.model.UserRole); // 使用reference,再使用這句話,就創建外鍵了,郁悶。。
}
...你期待的結果是什么?實際看到的錯誤信息又是什么?使用sync生成數據庫不產生外鍵且能夠查詢時候能夠include多model查詢。感謝感謝!
1 回答

守著星空守著你
TA貢獻1799條經驗 獲得超8個贊
已解決,仔細查閱后發現所創建的外鍵是當刪除和更新時發生聯系,帶著這個關鍵字去查英文原著api,發現有個constraints的屬性,在創建hasOne/belongsTo等等關系的時候,在option將這個屬性置false即可。
- 1 回答
- 0 關注
- 3866 瀏覽
添加回答
舉報
0/150
提交
取消