天天看點

Go語言的beego架構中的orm中的Read函數使用

在官方文檔上beego的Read函數

o := orm.NewOrm()
user := User{Id: }

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