func addTenantWhereIfAbsent(db *gorm.DB, tenantID string) {
// db.Statement.Clauses["tenant:where"] 这里能获取到值吗?, 将会产生tenant_id = ? AND tenant_id = ?
// if _, ok := db.Statement.Clauses["tenant:where"]; ok {
// return
// }
// 替换后
if _, ok := db.Statement.Settings.Load("tenant:where"); ok {
return
}
db.Statement.AddClause(clause.Where{
Exprs: []clause.Expression{
clause.Eq{
Column: clause.Column{
Table: db.Statement.Table,
Name: "tenant_id",
},
Value: tenantID,
},
},
})
db.Statement.Settings.Store("tenant:where", true)
}
func addTenantWhereIfAbsent(db *gorm.DB, tenantID string) {
// db.Statement.Clauses["tenant:where"] 这里能获取到值吗?, 将会产生tenant_id = ? AND tenant_id = ?
// if _, ok := db.Statement.Clauses["tenant:where"]; ok {
// return
// }
// 替换后
if _, ok := db.Statement.Settings.Load("tenant:where"); ok {
return
}
db.Statement.AddClause(clause.Where{
Exprs: []clause.Expression{
clause.Eq{
Column: clause.Column{
Table: db.Statement.Table,
Name: "tenant_id",
},
Value: tenantID,
},
},
})
db.Statement.Settings.Store("tenant:where", true)
}