From 60b76a93ff2c72b9952d62b7a49297299a28b94c Mon Sep 17 00:00:00 2001 From: Kaiyuan Li Date: Thu, 21 Aug 2025 14:25:35 -0700 Subject: [PATCH] reproduce generics join as --- generics_join_as_test.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 generics_join_as_test.go diff --git a/generics_join_as_test.go b/generics_join_as_test.go new file mode 100644 index 00000000..77a4ad96 --- /dev/null +++ b/generics_join_as_test.go @@ -0,0 +1,26 @@ +package main + +import ( + "testing" + + "gorm.io/gorm" + "gorm.io/gorm/clause" +) + +func TestGenericsJoins(t *testing.T) { + dbg := DB.Session(&gorm.Session{DryRun: true}) + db := gorm.G[User](dbg) + + q := db.Joins(clause.LeftJoin.AssociationFrom("Company", gorm.G[Company](dbg)).As("t"), + func(j gorm.JoinBuilder, joinTable clause.Table, curTable clause.Table) error { + j.Where("?.\"name\" = ?", joinTable, "GenericsCompany") + return nil + }, + ).Where(map[string]any{"name": "GenericsJoins_2"}) + + stmt := &gorm.Statement{DB: dbg} + q.Build(stmt) + + sql := stmt.SQL.String() + t.Logf("GENERATED SQL:\n%s", sql) +}