亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我應該明確地創建一個與“屬于”或“有很多”對稱的關系嗎?

我應該明確地創建一個與“屬于”或“有很多”對稱的關系嗎?

Go
幕布斯6054654 2022-11-23 15:45:56
我是 ORM(和 GORM)的新手,如果這是一個明顯的問題,我深表歉意,但文檔似乎沒有涵蓋它。我將使用文檔中的示例作為我的問題的基礎問題一:屬于// `User` belongs to `Company`, `CompanyID` is the foreign keytype User struct {  gorm.Model  Name      string  CompanyID int  Company   Company}type Company struct {  ID   int  Name string}A只User屬于一個Company→ 這由上面的代碼處理ACompany有很多User→上面的代碼暗示了這一點嗎?或者我應該以某種方式添加 O2M 關系Company嗎?問題2:有很多// User has many CreditCards, UserID is the foreign keytype User struct {  gorm.Model  CreditCards []CreditCard}type CreditCard struct {  gorm.Model  Number string  UserID uint}AUser有 1+ CreditCard→ 這由代碼處理ACreditCard可以屬于多個用戶(比如,一個共享的家庭 CC)→是隱含的嗎?(如果沒有:如何建立 O2M 關系)?;蛘?,它CreditCard是明確配置為僅屬于一個用戶的情況嗎?
查看完整描述

1 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

Q1: 根據您定義結構的方式,結構中不需要明確的 O2M 關系Company,但是在加載公司詳細信息時,如果要加載分配給該特定公司的所有用戶,則需要添加該字段以及。它將需要一個額外的函數調用,例如Preloador Joins,但您不需要明確定義這種關系。


type Company struct {

  ID   int

  Name string

  Users []User

}

Q2:現在定義關系的方式,它被配置CreditCard為只屬于一個用戶。如果你想要一個多對多的關系,你需要指定關系表。這里有更多關于它的文檔,但它應該看起來像這樣:


type User struct {

  gorm.Model

  CreditCards []CreditCard `gorm:"many2many:users_creditcards"`

}


type CreditCard struct {

  gorm.Model

  Number string

}


查看完整回答
反對 回復 2022-11-23
  • 1 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號