微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将列值设置为false

如何解决如何将列值设置为false

我想在 Go 中使用 Gin 框架将“启用”列更新为 false。我知道认情况下不允许将该列设置为 false,因此我编写了以下代码来处理该问题。

if err := db.Model(&subscription).Update(map[string]interface{}{"enabled": false}).Error; err != nil {//do something}

不知何故,这似乎不再起作用了。这段代码有什么问题?

这是我的模型:

type Subscription struct {
    gorm.Model
    Enabled            bool   `gorm:"DEFAULT:True"`
    Deleted            bool   `gorm:"DEFAULT:False"`
    UserID             uint   `gorm:"not null"`
    SubscriptionTypeID uint   `gorm:"not null"`
    Cap                int    `gorm:"DEFAULT:-1"`
    DateOfMonth        string `gorm:"DEFAULT:'0'"`
}

解决方法

您可以使用 Updates 方法按照您尝试过的方式进行操作。这也适用于多列。

if err := db.Model(&subscription).Updates(map[string]interface{}{"enabled": false}).Error; err != nil {//do something}

此外,您可以使用 Update 方法更新单列。

if err := db.Model(&subscription).Update("enabled",false).Error; err != nil {//do something}

Here 您可以找到有关如何更新单列或多列的更多变体。

,

Ankita Gupta,你应该像这样声明你的模型:

<div id="test">
 <span class="one"></span>
 <span class="two">two</span>
 <span class="three"></span>
 <span class="four"></span>
</div>

这样布尔默认值为false

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。