我有一堆类似的临时表,我试图使用 go-pg 的 ORM 查询它们。我找不到在选择期间动态更改查询表的方法:
import "gopkg.in/pg.v4"
type MyModel struct {
TableName struct{} `sql:"temp_table1"`
Id int64
Name string
}
var mymodels []MyModel
err := db.Model(&mymodels).Column("mymodel.id", "mymodel.name").Select()
这将查询模型的
temp_table1
中定义的 TableName
。有没有办法将表名作为参数传递,以便我可以查询 temp_table_X
?(我不能使用 ORM 并使用原始
db.Query()
,但我想看看是否有使用 ORM 的方法)。 最佳答案
在 github 上得到了答案:
err := db.Model().TableExpr("temp_table_999 AS mymodel").Column("mymodel.id", "mymodel.name").Select(&mymodels)
关于postgresql - 如何在go-pg中为每个查询动态设置表名?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40228803/