Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我们使用另一个结构进行包装时,Gorm golang sql.NullInt64不工作_Go_Go Gorm - Fatal编程技术网

当我们使用另一个结构进行包装时,Gorm golang sql.NullInt64不工作

当我们使用另一个结构进行包装时,Gorm golang sql.NullInt64不工作,go,go-gorm,Go,Go Gorm,用户可以被其他用户删除。那么, type User struct { gorm.Model Email string `gorm:"type:varchar(100)"` DeletedBy sql.NullInt64 } 当我们创建新用户时,DeletedBy将为null。所以我使用了sql.NullInt64而不是int64。 但我无法转换为JSON {“电子邮件”:“xxxxx”, “删除方式”: {“Int64”:2,“Valid”:true} } 为此

用户可以被其他用户删除。那么,

type User struct {
    gorm.Model
    Email string `gorm:"type:varchar(100)"`
    DeletedBy     sql.NullInt64
}
当我们创建新用户时,DeletedBy将为null。所以我使用了sql.NullInt64而不是int64。 但我无法转换为JSON

{“电子邮件”:“xxxxx”, “删除方式”: {“Int64”:2,“Valid”:true} }

为此,我努力了
但是Gorm将查询条件值发送为“[{2,true}]”

在Go中,当您将一个类型声明为另一个类型的别名时,新类型不会保留另一个类型的方法。因此,这里:

type NullInt64 sql.NullInt64
新的
NullInt64
类型具有与
sql相同的结构和内存布局。NullInt64
但是它没有自己的方法,即按照您想要的方式工作所需的和方法

相反,您可以做的是嵌入
sql.NullInt64
,这样您就可以开始了

type NullInt64 struct {
    sql.NullInt64
}

在Go中,当您将一个类型声明为另一个类型的别名时,新类型不会保留另一个类型的方法。因此,这里:

type NullInt64 sql.NullInt64
新的
NullInt64
类型具有与
sql相同的结构和内存布局。NullInt64
但是它没有自己的方法,即按照您想要的方式工作所需的和方法

相反,您可以做的是嵌入
sql.NullInt64
,这样您就可以开始了

type NullInt64 struct {
    sql.NullInt64
}