我试图从mysql数据库中获取数据,但没有返回任何内容。是我第一次使用Gorm,我对Go的体验很差。
package main
import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
"fmt"
)
type productos struct {
gorm.Model
id_producto int `gorm:"type:int, primary_key"`
stock int `gorm:"type:int"`
codigo string `gorm:"type:varchar(45)"`
rubro string `gorm:"type:varchar(100)" `
descripcion string `gorm:"type:varchar(140)" `
proveedores string `gorm:"type:varchar(250)" `
moneda string `gorm:"type:varchar(10)" `
costo float32 `gorm:"type:decimal" `
iva float32 `gorm:"type:decimal" `
pedir bool `gorm:"type:tinyint" `
}
func main() {
db, err := gorm.Open("mysql", "root:1281@/electronica?charset=utf8&parseTime=True&loc=Local")
if(err != nil){
panic(err)
}else{
fmt.Println("Conexión obtenida")
}
prod := &productos{}
db.First(&prod)
fmt.Println(prod.codigo)
db.Close()
}发布于 2020-02-04 19:54:13
使用以下代码片段:
type Productos struct {
gorm.Model
// Remove the ProductoID field if you want to use the default gorm Model
// ProductoID int `gorm:"type:int, primary_key"`
Stock int `gorm:"type:int"`
Codigo string `gorm:"type:varchar(45)"`
Rubro string `gorm:"type:varchar(100)" `
Descripcion string `gorm:"type:varchar(140)" `
Proveedores string `gorm:"type:varchar(250)" `
Moneda string `gorm:"type:varchar(10)" `
Costo float32 `gorm:"type:decimal" `
Iva float32 `gorm:"type:decimal" `
Pedir bool `gorm:"type:tinyint" `
}
func main() {
db, err := gorm.Open("mysql", "root:admin123@/test?charset=utf8&parseTime=True&loc=Local")
if err != nil {
panic(err)
}
defer db.Close()
if !db.HasTable(&Productos{}) {
if err := db.AutoMigrate(&Productos{}).Error; err != nil {
}
db.Create(&Productos{
Stock: 2,
Codigo: "a",
Rubro: "b",
Descripcion: "c",
Proveedores: "d",
Moneda: "e",
Costo: 0,
Iva: 0,
})
}
producto := &Productos{}
db.First(producto)
fmt.Printf("%+v\n", producto)
}正如@Burak Serdar指出的那样,您的字段不会导出(不大写),因此在您的示例中,它们对于gorm包是不可见的
In Go, a name is exported if it begins with a capital letter. Any "unexported" names are not accessible from outside the package.
欲了解更多信息,请访问:Exported names
发布于 2020-02-05 18:57:51
我知道答案了。我的问题是:我包含了默认的Gorm模型,这与数据库不一样,当把它放出来时,它工作得很好
真的为我糟糕的英语感到抱歉
https://stackoverflow.com/questions/60050395
复制相似问题