如何在表单中插入空外键?



我有一个格式的事务表,看起来像这样:

type Transaction struct {
gorm.Model
UserID      string `gorm:"index"`
TradeID     int 
Trade       Trade
ExternalID  string
Amount      float32
Type        string
Description string
}

我正在尝试插入一个没有交易的交易:

DB.Create(&Transaction{UserID: "user-1", Type: "unblock", Amount:  50})

由于Transaction结构将键的int值默认为0,因此插入在db级别失败,因为我没有id = 0的交易。

我该怎么做?

您可以将TradeID更改为指针,因此默认值为nil

TradeID     *int 

using gorm struct annotation: gorm:"default:null"而不是指针。
AccountChangeCategoryID可以为空的示例:

type AccountChange struct {
general.Model
/*
If positive - income
If negative - expense
*/
Value                   float64 `json:"value"`
Name                    string  `json:"name"`
AccountID               uint    `json:"account_id"`
AccountChangeCategoryID uint    `json:"category_id" gorm:"default:null"`
}

相关内容

  • 没有找到相关文章

最新更新