我有一堆类似的临时表,我试图使用 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/

10-15 20:36