3

我有一堆类似的临时表,我正在尝试使用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 并使用 raw db.Query(),但我想看看是否有使用 ORM 的方法)。

4

2 回答 2

2

在github上得到了答案:

err := db.Model().TableExpr("temp_table_999 AS mymodel").Column("mymodel.id", "mymodel.name").Select(&mymodels)
于 2016-10-25T17:59:30.847 回答
0

似乎您可以直接指定表格db.Model(&mymodels).Table('temp_table1').Column("mymodel.id", "mymodel.name").Select()

于 2016-10-25T10:56:24.487 回答