sequelize 關聯表時注意點


老鐵們,話不多說,直接上圖

第一步,我們關聯兩張表 country 和  ball_club

country 模型 

 

ball_club 模型

 

 country 與 ball_club 是一對多的關系,所以就用

country.hasMany(ballClub) // country是源表,ballClub是目標表
ballClub.belongsTo(country, { // ballClub是源表,country是目標表

targetKey: 'id',
foreignKey: 'belongToCountryId'
})

來建立一對多的關系;按照官方文檔,這么寫確實沒啥問題,但是這是建立在一個條件的基礎上,也就是ball_club表的外鍵名叫做 countryId,否則就會出現以下bug

 

 

 

 

出現這個bug,我百度都沒有百度到問題出在哪里,我的表模型里面都沒有這個字段,為啥聯合查詢的時候會蹦出這個字段來,直到我翻了一遍又一遍的官方文檔才發現,如果你要重新定義外鍵名稱的時候,不能單方面寫入配置,需要這么寫

 

 可以看出來,上下的 foreignKey 和 targetKey 的值相反,因為這兩個字段的值是相對於源表而言(也就是調用方法的那個模型),這個注意點就記錄到這里了,如果有問題的話,請各位老鐵多多指教 ^_^

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM