SQLBoiler 获取 Join 的表名

标签 sql go orm sqlboiler

我正在尝试遵循 sqlboiler ( https://github.com/volatiletech/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_cards),那就太好了。

谢谢!

最佳答案

表名位于 TableNames 结构中,该结构位于文件 boil_table_names.go

所以,我认为它会像这样 models.TableNames.CreditCards

关于SQLBoiler 获取 Join 的表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56511449/

相关文章:

go - 跟踪给定时间戳的当前年份和月份

java - 单向@OneToMany 关联未通过 JPA 中的相等性测试

java - 带列的 hibernate 公式

java - 尝试使用 Hibernate 进行 SELECT 时出现 ConverterNotFoundException

sql - 每个派生表都必须有自己的别名错误

sql - PostgreSQL:子选择内部插入

go - 通过 channel 传递的消息是否保证是非阻塞的?

go - 在 go 中使用静态类型构造函数有什么明显的缺点吗?

sql - 像命令不工作 Oracle SQL

sql - 按两列分组并在 PostgreSQL 中找到另一列的平均值