gorm kits help user write gorm curd happy!
when we dao
incoming structure field has tag, tag auto stitch query conditions
Opr | Description |
---|---|
eq | equal |
neq | not equal |
gt | gt |
gte | gte |
lt | lt |
lte | lte |
in | IN |
!in | NOT IN |
like/contains | LIKE |
!like/!contains | NOT LIKE |
any | = ANY() |
overlap | && ARRAY[] |
package dao
import (
"context"
"gorm.io/gorm"
"github.com/Germiniku/gf"
)
type Dao struct {
db *gorm.DB
}
type Book struct {
Name string `filter:"col:name;opr:eq"`
}
func (d *Dao) Books(ctx context.Context, q *Book) (books []*Book,err error){
books = make([]*Book,0)
err = d.db.Model(&Book{}).Scopes(gf.Filter(q)).Find(&books).Error
return
}