function - 如何更改 sqlite get 功能?
问题描述
如何更改我的 Get 函数以使其仅返回一个 Equipment-Objekt?
func GetEquipmentByID(Id string) (equipment Equipment, err error) {
equipment = Equipment{}
err = Db.QueryRow("select ID, Name, Description, ImgPath, Category, Availability, Amount, Storage from Equipment where Id = $1", Id).Scan(&equipment.ID, &equipment.Name, &equipment.Description, &equipment.ImgPath, &equipment.Category, &equipment.Availability, &equipment.Amount, &equipment.Storage)
return
}
我想用这个函数在我的控制器中填充一个设备数组。但现在它不起作用,因为我的函数返回 2 个对象(设备和错误)
我想在这里使用它:
func Cart(w http.ResponseWriter, r *http.Request) {
data := CartData{
Name: "Cart",
Equipment: model.GetEquipment(model.Db),
CartList: nil,
Pages: []Page{
{
Title: "Meine Geräte",
Active: false,
Link: "/my-equipment",
},
{
Title: "Equipment",
Active: false,
Link: "/equipment",
},
{
Title: "Logout",
Active: false,
Link: "/logout",
},
},
}
session, _ := store.Get(r, "cookie-name")
list := session.Values["EquipmentIDs"].(string)
result := strings.Split(list, ",")
for i := range result {
fmt.Print(i)
fmt.Println(result[i])
}
for i:= range result {
equipment, err := model.GetEquipmentByID(result[i])
if err != nil {
// handle error
}
data.CartList[i] = equipment // ERROR BECAUSE OF THIS LINE
}
tmpl:= template.Must(template.ParseFiles("template/base_user.html", "template/cart.html"))
tmpl.ExecuteTemplate(w, "base", data)
}
}
所以我的第二个问题是,如何将我的购物车函数中的数组作为数据传递
解决方案
在 Go 中,永远不要忽略错误。例如,
equipment, err := model.GetEquipment(model.Db)
if err != nil {
// handle error
}
data := CartData{
Name: "Cart",
Equipment: equipment,
// ...
}
推荐阅读
- jquery - 遍历一个数组,找到该数组中包含的每个 div 的选定选项值并分配背景颜色
- java - Dagger 2 依赖图被绑定多次
- excel - 一个 Vlookup 函数(在 Excel 中)超过 255 个带有通配符的字符
- javascript - 如何从 Get Request In Express 中获取正文?
- python - sqlalchemy.exc.ProgrammingError:(psycopg2.errors.UndefinedTable)关系“用户”不存在
- javascript - 访问 javascript 中元组的所有元素
- c# - Cannot deploy ASP.NET MVC + React to Azure
- inno-setup - 如何获取脚本部分的当前安装目录?
- windows-10 - 为什么 Windows 10 在我的 Windows 服务中杀死了我的工作线程?
- c# - 通知有关 xamarin c# 的每日信息