gpt4 book ai didi

go - 模型没有主键

转载 作者:数据小太阳 更新时间:2023-10-29 03:22:27 25 4
gpt4 key购买 nike

我正在使用 https://github.com/go-pg/pg对于我的 PostegreSQL 数据库和 Go。我正在尝试获取包含 site_name 列的表 Settings 的值,但由于某种原因,它给了我错误 panic: model=Settings does没有主键

package mypackage

import (
"database"
)

type Settings struct {
SiteName string
}

func Get() string {
var name Settings

err := Db.Model(&name).First()
if err != nil {
panic(err)
}

return name.SiteName
}

我没有真正了解这里发生了什么或如何解决它的经验。任何解决方案?谢谢!

示例(第一行):https://godoc.org/github.com/go-pg/pg#DB.Select

最佳答案

ORM 要求您定义 pks,因此您必须将其添加到结构和数据库表中。

https://github.com/go-pg/pg/blob/master/orm/query.go#L558 https://github.com/go-pg/pg/blob/d4fc7afde3ee9d0a780f9c67daf8a8a3bfd84060/orm/table.go#L124

所以在你的结构中添加一个Id字段

type Settings struct {
Id int64
SiteName string
}

如果你想使用 ORM,你必须遵守它的规则 :) 如果你想要更多的控制权,请尝试使用 sqlx相反

关于go - 模型没有主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51432378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com