feat: define short function name easy to use

This commit is contained in:
Harman 2021-02-11 00:13:00 +08:00
parent a13b7a6acb
commit 1764c8ef8f

View File

@ -9,6 +9,9 @@ import (
"gorm.io/gorm/utils" "gorm.io/gorm/utils"
) )
// Scope define short function name easy to use
type Scope func(*DB) *DB
// Model specify the model you would like to run db operations // Model specify the model you would like to run db operations
// // update all users's name to `hello` // // update all users's name to `hello`
// db.Model(&User{}).Update("name", "hello") // db.Model(&User{}).Update("name", "hello")
@ -240,7 +243,7 @@ func (db *DB) Offset(offset int) (tx *DB) {
// } // }
// //
// db.Scopes(AmountGreaterThan1000, OrderStatus([]string{"paid", "shipped"})).Find(&orders) // db.Scopes(AmountGreaterThan1000, OrderStatus([]string{"paid", "shipped"})).Find(&orders)
func (db *DB) Scopes(funcs ...func(*DB) *DB) *DB { func (db *DB) Scopes(funcs ...Scope) *DB {
for _, f := range funcs { for _, f := range funcs {
db = f(db) db = f(db)
} }