Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLBoiler获取联接的表名_Sql_Go_Orm_Sqlboiler - Fatal编程技术网

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 ?", `

我试图遵循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 ?", `%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注入漏洞。(您可以通过检查给定值是否为选定值中的一个进行清理)。