SQLBoiler获取联接的表名
我试图遵循sqlboiler()中的示例。但是,我找不到一种方法来获取内部联接查询中使用的表名SQLBoiler获取联接的表名,sql,go,orm,sqlboiler,Sql,Go,Orm,Sqlboiler,我试图遵循sqlboiler()中的示例。但是,我找不到一种方法来获取内部联接查询中使用的表名 users, err := models.Users( Select("id", "name"), InnerJoin("credit_cards c on c.user_id = users.id"), Where("age > ?", 30), AndIn("c.kind in ?", "visa", "mastercard"), Or("email like ?", `
users, err := models.Users(
Select("id", "name"),
InnerJoin("credit_cards c on c.user_id = users.id"),
Where("age > ?", 30),
AndIn("c.kind in ?", "visa", "mastercard"),
Or("email like ?", `%aol.com%`),
GroupBy("id", "name"),
Having("count(c.id) > ?", 2),
Limit(5),
Offset(6),
).All(ctx, db)
在本例中,如果我可以提供表名,而不是硬编码名称(credit\u cards
),那就太好了
谢谢 表名位于
TableNames
struct中,该结构位于文件boil\u table\u names.go
因此,我认为应该是这样的
models.TableNames.CreditCards
不熟悉sqlboiler,但我知道大多数ORM实际上不支持变量列或表名。但是,您可以使用字符串插值(fmt.Sprintf
),但请确保在检查有效值时非常小心,因为这可能导致SQL注入漏洞。(您可以通过检查给定值是否为选定值中的一个进行清理)。