<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Belongs To ## Belongs To `belongs to` 會與另一個模型建立了一對一的連接。 這種模型的每一個實例都“屬于”另一個模型的一個實例。 例如,您的應用包含 user 和 company,并且每個 user 都可以分配給一個 company ```go // `User` 屬于 `Company`,`CompanyID` 是外鍵 type User struct { gorm.Model Name string CompanyID int Company Company } type Company struct { ID int Name string } ``` ## 重寫外鍵 要定義一個 belongs to 關系,必須存在外鍵,默認的外鍵使用擁有者的類型名加上主字段名 對于上面例子,定義屬于 `Company` 的 `User`,其外鍵一般是 `CompanyID` 此外,GORM 還提供了一種自定義外鍵的方法,例如: ```go type User struct { gorm.Model Name string CompanyRefer int Company Company `gorm:"foreignKey:CompanyRefer"` // 使用 CompanyRefer 作為外鍵 } type Company struct { ID int Name string } ``` ## 重寫引用 對于 belongs to 關系,GORM 通常使用擁有者的主字段作為外鍵的值。 對于上面的例子,它是 `Company` 的 `ID` 字段 當您將 user 分配給某個 company 時,GORM 會將 company 的 `ID` 保存到用戶的 `CompanyID` 字段 此外,您也可以使用標簽 `references` 手動更改它,例如: ```go type User struct { gorm.Model Name string CompanyID string Company Company `gorm:"references:Code"` // 使用 Code 作為引用 } type Company struct { ID int Code string Name string } ``` ## Belongs to 的 CRUD 查看 [關聯模式](./associations.md#Association-Mode) 獲取 belongs to 相關的用法 ## 預加載 GORM 可以通過 `Preload`、`Joins` 預加載 belongs to 關聯的記錄,查看 [預加載](./preload.md) 獲取詳情 ## 外鍵約束 你可以通過標簽 `constraint` 并帶上 `OnUpdate`、`OnDelete` 實現外鍵約束,例如: ```go type User struct { gorm.Model Name string CompanyID int Company Company `gorm:"constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"` } type Company struct { ID int Name string } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看