diff --git a/database/orm/orm.go b/database/orm/orm.go index fa5893661..6a6e09dc5 100644 --- a/database/orm/orm.go +++ b/database/orm/orm.go @@ -9,6 +9,7 @@ import ( frameworkconfig "github.com/goravel/framework/config" "github.com/goravel/framework/contracts/config" contractsorm "github.com/goravel/framework/contracts/database/orm" + contractshttp "github.com/goravel/framework/contracts/http" "github.com/goravel/framework/contracts/log" "github.com/goravel/framework/database/factory" "github.com/goravel/framework/database/gorm" @@ -147,6 +148,10 @@ func (r *Orm) Transaction(txFunc func(tx contractsorm.Query) error) error { } func (r *Orm) WithContext(ctx context.Context) contractsorm.Orm { + if http, ok := ctx.(contractshttp.Context); ok { + ctx = http.Context() + } + for _, query := range r.queries { if queryWithSetContext, ok := query.(contractsorm.QueryWithSetContext); ok { queryWithSetContext.SetContext(ctx)