亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

php小編草莓將為您解答如何在關聯(lián)不存在時創(chuàng)建關聯(lián)。在編程中,我們經(jīng)常需要使用關聯(lián)數(shù)組來存儲和操作數(shù)據(jù)。但有時候我們需要在關聯(lián)數(shù)組中創(chuàng)建一個新的關聯(lián),但又不希望覆蓋已存在的關聯(lián)。這時,我們可以使用條件判斷來實現(xiàn),只在關聯(lián)不存在時才創(chuàng)建新的關聯(lián)。這種方法可以保證數(shù)據(jù)的完整性和準確性,提高代碼的可讀性和可維護性。下面我們來看具體的實現(xiàn)方法。

問題內(nèi)容

我正在循環(huán)遍歷字符串數(shù)組,以創(chuàng)建具有該屬性的文檔(僅當該屬性不存在時):

(dbi:我的 gorm 數(shù)據(jù)庫實例)

var posttags []models.tag

for _, tagslug := range tagsarray {
    tag := models.tag{
        slug: tagslug,
    }

    err = dbi.where("slug = ?", tagslug).firstorcreate(&tag).error
    if err != nil {
            return c.status(fiber.statusinternalservererror).json(fiber.map{
                "error": "internal server error",
            })
    }
    posttags = append(posttags, tag)
}

登錄后復制

然后使用這些標簽創(chuàng)建帖子:

post := models.post{
       ...,
       tags: posttags 
}]

dbi.create(&post)

登錄后復制

型號:

type Post struct {
    BaseModel
    Title string `json:"title"`
    MarkdownUploadURL string `json:"markdownUploadUrl"` 
    AuthorID string `json:"authorId"`
    Tags []Tag `json:"tags" gorm:"many2many:posts_tags"`
}

type Tag struct {
    BaseModel
    Slug string `json:"slug"`
}

登錄后復制

我嘗試:將 dbi.firstorcreate() 更改為 dbi.first() ,然后檢查 errors.is(err, gorm.errrecordnotfound

但是每次調(diào)用該函數(shù)時,我都會得到具有不同 id 的不同標簽,即使它們已經(jīng)存在于數(shù)據(jù)庫中……

解決方法

已修復。而不是在帖子中添加標簽,如下所示:

post := models.post{
       tags: posttags, 
}

dbi.create(&post)

登錄后復制

我是這樣做的:

post := models.Post {
        // Other fields (AuthorID, MarkdownUploadURL, Title)
}

dbi.Create(&post)

dbi.Model(&post).Omit("Tags.*").Association("Tags").Append(postTags)

登錄后復制

參考:https://github.com/go-gorm/gorm/issues /3605

分享到:
標簽:字符串數(shù)組
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定