如何在 gorm 中插入空外键?

How to insert a null foreign key in gorm?

我在 gorm 中有一笔交易 table,如下所示:

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})

这失败了,因为事务结构将键的 int 值默认为 0,因此在数据库级别插入失败,因为我没有 id = 0 的交易。

我该怎么做?

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

TradeID     *int