【问题标题】:GORM FirstOrCreate never updates boolean fieldsGORM FirstOrCreate 从不更新布尔字段
【发布时间】:2020-08-27 04:15:37
【问题描述】:

在我的模型中,我有这样的字段:

HidePricingFromProfile     bool    `json:"hidePricingFromProfile"`

当我在数据库中更新模型时:

store.storage.DB.
    Where("artist_account_id = ?", m.ArtistAccountID).
    Assign(model).
    FirstOrCreate(m).
    Error

它只将布尔字段更新为真值。

这个字段在 DB 中是这样定义的:

hide_pricing_from_profile boolean default false not null

【问题讨论】:

    标签: go go-gorm


    【解决方案1】:

    来自doc

    注意所有具有零值的字段,例如 0、''、false 或其他零 值,不会保存到数据库中,但将使用其默认值 价值 bool 的零值是 false,这就是它没有更新的原因。您需要使用bool 的指针,其零值为nil,然后false 值将在数据库中更新。

    HidePricingFromProfile     *bool    `json:"hidePricingFromProfile"`
    

    【讨论】:

      猜你喜欢
      • 2019-11-01
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      • 2013-10-26
      相关资源
      最近更新 更多