您好,欢迎来到纷纭教育。
搜索
您的当前位置:首页gorm查询返回为空struct

gorm查询返回为空struct

来源:纷纭教育

 xorm

        该组件查询是默认根据结构体类名进行查询 ,也可以重写TableName() 方法


type User struct {
	Id   int
	Name  string
	Age  int
}




func main() {

	database, err := xorm.NewEngine("mysql", "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8&parseTime=True&loc=Local")

	if err != nil {
		fmt.Println("open mysql failed,", err)
		return
	}


	pEveryOne := make([]*User, 0)


	database.Where("id = ?",1).Find(&pEveryOne )


	
	for _, user := range pEveryOne {
		fmt.Println(user)
	}


}

可以重写TableName() 方法

 

 

func (User) TableName() string {
   return "user"
}

gorm


type User struct {
	Id   int  `gorm:"column:id;PRIMARY_KEY"`
	Name  string `gorm:"column:name"`
	Age  int    `gorm:"column:age"`
}


func main() {
	
	database, err := gorm.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8&parseTime=True&loc=Local")

	if err != nil {
		fmt.Println("open mysql failed,", err)
		return
	}

	user := User{}

	database.Where("id= ?",1).Find(&user)


 		fmt.Println(user)


}

 

该返回为空struct

解决方案 

重写TableName() 方法

// 将 User的表名设置为 `user`
func (User) TableName() string {
	return "user"
}

或者

查询时指定表名

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务