在官方文档上beego的Read函数
o := orm.NewOrm()
user := User{Id: 1}
err = o.Read(&user)
if err == orm.ErrNoRows {
fmt.Println("查询不到")
} else if err == orm.ErrMissPK {
fmt.Println("找不到主键")
} else {
fmt.Println(user.Id, user.Name)
}
Read 默认通过查询主键赋值,可以使用指定的字段进行查询:
user := User{Name: "slene"}
err = o.Read(&user, "Name")
...
可以看出,Read
函数输入的是struct
和struct
的某一或多个字段,输出错误信息(若没有错误则输出为空)。
但是,如果查询到数据库中有Id=1
的值,则把其整体赋值给user
,例如:
若数据库中有{'1', '学院概况', '0', '2,3,4,5,6,7', '1', '学院概况'}
的一列,则Read成功后user={'1', '学院概况', '0', '2,3,4,5,6,7', '1', '学院概况'}
,而不是其刚刚创建时的user={'1'}
。